JAVA开发与架构(一个JAVA架构师的必备技能和素养)

最近领导有问,你们眼中的JAVA架构师当如何?特此在这篇博文中回复。

架构一词的解析:软件架构来源于软件工程,而软件工程的思想来源于建筑工程。所以架构一词其实也是来源于建筑学。从建筑学中我们很容易理解架构。在建筑学中,我们很容易理解,架构是指在房屋建筑中,由各种构件(屋架、梁、板、柱等)组成的能够承受各种作用的体系。既包括基本承重架构,功能架构,也包括美观架构,防震架构,绿色环保设计架构等等。其实放到软件设计架构方面也是一样。针对JAVA领域的架构,目前已经演化为:基础架构、业务架构、技术架构、数据架构、部署架构和绿色架构这几个分支。其实按照专才来分的话,一个架构师只要精深一种架构就行。但是我们往往需要架构师具有综合的技能和素养。所以我们全部都要具备。按照目前深圳的市人才市场价精深一种架构的架构师市场价值在40W到50W每年。如果上面几种都精深可达80W到120W每年。

基础架构:
基础架构包括这个系统的自研的中间件,包括缓存自研架构,tomcat自研架构,数据库连接架构,网关架构,部署工具等这些系统的基本构件,需要基于开源系统还是从无到有,结合公司实际项目做到最优化。

业务架构:
业务架构就是产品经理提出的业务需求,架构师可以根据需求来对业务架构进行服务划分,可以无限横向扩展。比如用户管理。客服中心。商品中心,支付中心,物流中心,异业合作等等与业务相关的功能架构和打破系统壁垒和数据壁垒对系统进行系统升级,数据融合。这是系统对客的门面,不管是TO B的还是 TO C的。

技术架构:

技术架构包括这个系统的登录,安全,互联网合规,防网络攻击,用户权限,用户日志,全文检索,扫一扫,架构本身的服务注册发现,路由(网关),配置中心,工具类等基础功能。这是对系统架构进行技术选型。

数据架构:
数据架构包括使用的二维数据库,缓存数据库,消息队列,全文检索数据库,数据备份,数据扩展策略,数据中台,数据集市,数据分析。这是系统的动脉血液。其中数据架构和基础架构和业务架构都是紧密配合的,比如缓存的使用,全文检索数据库,数据分析。

部署架构:
部署架构包括系统的部署方式,涉及到云平台,系统监控,系统日志,系统告警,系统扩容,系统健康检测,系统流量分析等内容。

绿色架构:

绿色架构是根据计算机学会提倡绿色计算提出的概念。因为我们在研发的过程中必然会产生资源消耗,一个好的系统一定是刚刚好的。不是用大炮来打蚊子,也不是系统也厉害越好,不是什么计算都放在银河计算机那么先进的计算机上计算。所以在做架构时怎么规划使用多少服务器,使用多大的网络流量,购买多少第三方服务,系统的紧缩和扩容等等这是绿色架构需要考虑的问题。


 

你可能感兴趣的:(java,数据库,大数据)