架构师必备技能:架构图的构图

640?wx_fmt=jpeg


在做软件或应用解决方案的时候,一定会涉及到总体架构图或应用架构图的绘制,今天就谈下在架构图的绘制时候需要考虑的一些关键内容。


总体架构构图


对于总体架构沟通在类似智慧城市整体解决方案,企业总体IT架构解决方案中用的比较多。即不针对单个业务系统,而是面向整个行业或整个企业的IT整体架构解决方案。在这些图中,一般一个大的业务系统,类似CRM,ERP等也就是一个方框的位置。


这类总体架构重要的一个体现就是分层,一般还是底层的IaaS基础设施资源层,然后是中间的PaaS平台服务层,接着是上层的应用层。注意在当前微服务架构新模式下,上层的应用层本身又会拆分为中台层+上层的应用层。应用层在上面是门户层。


对于PaaS平台服务层,关键的内容还是技术平台,数据平台,集成平台等,技术平台本身又包括了应用托管平台和中间件资源池,传统的4A,流程平台,也包括了各类技术服务的提供。具体PaaS平台服务层要规划哪些内容,可以结合实际的项目需求来进行规划。


如果是对于物联网等项目,那么在资源层下面还有物联网感知层和网络层。


对于应用层,可以考虑对具体的业务系统进行归类或业务域划分,比如企业内的IT架构图,可以基于价值链或其他方式,按市场销售,产品研发,生产制造,客服服务,财务管理等业务域对业务系统进行归类。


对于总体架构图一般两边会规划类似技术标准体系,安全管控体系等相关内容。

注意在总体架构图上,实际上是很难去区分业务应用和BI分析两条线的,建议在画总体架构图的时候,不要去考虑将这两条线都划分清楚。可以在应用层最上面画一个业务决策分析类应用层即可。


基于SOA思想对应用层展开


刚才在讲总体架构的时候没有谈到服务层的概念,那么实际我们在规划总体架构的时候究竟有无服务层,如果规划了服务层我们就需要将关键的业务服务,技术服务等能力画出来。然后将服务能力接入到上层的服务能力开放或共享平台,然后上层的应用基于服务层的能力来进行构建或组装。


即应用的构建是基于服务的灵活组装或编排来构建的,而在微服务架构下,各个中台的中心就是提供给子API接口服务能力,而上次应用可以基于中台中心的能力进行服务组装。


如果我们是画总体架构一般不需要单独画出服务层,但是如果我们是规划总体应用架构,那么就可以将应用层进一步画细,体现出服务层,关键的业务服务和技术服务,体现出共享服务平台。即应用层会再进一步分析,包括了服务层各类服务,服务共享开放平台,然后是上层的应用。


业务服务+服务共享平台+上层应用,即基于SOA思想,基于服务快速灵活构建应用的思想。


单个应用的架构图


首先说应用架构,对于单个应用的应用架构,可以看到单个应用本身往往也分了很多了子系统。比如我们的财务共享应用,本身就包括了报账,预算,资金,电子凭证,档案等多个业务子系统。那么在这种情况下实际上画法首先也是要分层,下面是基础平台层,多个业务系统共用的能力要放到基础平台层,比如我们说的4A,流程引擎,技术平台能力等,然后才是上层的各个业务子系统。这时候每个业务子系统可以将里面的关键业务模块画出来了,体现关键业务能力。上层往往仍然是门户,实现一个统一的集成。


多个业务子系统本身就类似独立的各个微服务模块,因此完全可以采用当前微服务架构的分层思路对架构图进行优化。即技术平台画完后,开始画中台层,中台层即各个关键的业务能力中心,中心层暴露关键的API接口服务能力给上层用,然后才是上层的各个应用。


即技术平台+中台层+服务+应用+门户聚合的架构构图思路。


单个业务系统的架构图


对于单个业务系统的架构图,务必要注意究竟是画应用架构,还是画技术架构。

如果是画应用架构,那么关键要体现的是业务模块和业务功能,因此应用架构沟通的时候更多的分层思路是基础平台层,基础数据层,应用业务功能层,上层的决策分析统计层。当然还可以将该业务系统和外围业务系统的关键接口集成也画出来。


如果是画技术架构,那么参考标准的技术架构图画法即可,比如多层分布式架构,体现数据层,逻辑层,展现层。或是说是基于SOA服务架构,体现的是技术组件,业务组件,服务,上层应用和流程组合。在技术架构图上体现出关键的技术分层和技术组件即可,而不需要体现具体的业务模块和业务功能。


基于以上思考,我们在画架构图的时候关键注意点进一步总结如下


  1. 分层是基本指导思想,或者平台+应用,或者平台+服务+应用。

  2. 纵向分域分类是第二关键点,否则纵向内容会感觉凌乱,比如平台层可以分技术平台,数据平台等。

  3. 应用架构和技术架构要区分开,两者的关注点不同。

  4. 应用架构中对于业务系统和BI类应用要区分开,一个架构图往往也很难体现两者。

  5. 架构图是偏静态构图,因此在架构图中尽量不要体现流程,交互等内容。


本文出处:http://blog.sina.com.cn/cmmi

相关阅读:架构师必备技能:教你画出一张合格的技术架构图

版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢。

640?wx_fmt=png

架构文摘

ID:ArchDigest

互联网应用架构丨架构技术丨大型网站丨大数据

640?wx_fmt=png

更多精彩文章,请点击下方:阅读原文

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 成为一名 Golang 架构师需要掌握的技能包括:熟练掌握 Golang 语言的基础知识;熟悉 Golang 应用程序的构建;具备良好的编码能力;了解 Golang 常用的 Web 框架;熟悉分布式系统概念及架构;具有高可用架构设计能力;了解常用的数据库及缓存;具备良好的调试和性能优化能力。 ### 回答2: 作为Golang架构师必备技能主要包括以下几个方面。 首先,深厚的Golang编程基础是必不可少的。作为一门编程语言,Golang具有简洁、高效的特点,因此熟练掌握Golang的基本语法和编程范式,能够灵活运用Golang的各种特性和库,是架构师必须具备的基本技能。 其次,设计和构建分布式系统的能力是重要的技能之一。在当今云计算和大数据时代,分布式系统成为了架构师必须面对的挑战。掌握分布式系统的设计原则,了解分布式系统的常见模式和技术栈,能够使用Golang构建高可用、高并发、可扩展的分布式系统,是架构师必备技能之一。 此外,良好的系统设计能力和架构思维也是不可或缺的。架构师需要能够对系统进行全局的规划和设计,考虑系统的可靠性、可扩展性、性能等方面。通过分析和抽象复杂的问题,采用合适的模式和架构风格,将系统划分为不同的模块和组件,并定义它们之间的交互和通信方式,以实现系统的复杂需求。 另外,熟悉常用的开发工具和框架也是必备技能之一。如Docker、Kubernetes等容器和容器编排工具,如gin、beego等Golang框架,如ELK、Prometheus等监控和日志分析工具等。熟悉这些工具和框架,能够帮助架构师更高效地构建和部署系统。 最后,良好的沟通和团队合作能力也是Golang架构师必不可少的技能架构师通常需要与产品经理、开发团队、测试团队等进行有效的沟通和协作,了解需求和业务,提供技术方案和指导。同时,能够与团队成员密切合作,共同完成项目的设计和开发。 总之,作为Golang架构师,需要具备扎实的Golang编程基础、分布式系统设计能力、系统设计和架构思维、熟悉开发工具和框架,以及良好的沟通和团队合作能力。 ### 回答3: golang架构师必备技能包括以下几个方面: 1. 熟练掌握Golang语言:作为Golang架构师,首先需要对Golang语言有深入的理解和掌握。这包括了对Golang语法、特性、标准库的熟悉,以及对并发编程、内存管理等方面的了解。只有对Golang语言的熟悉,才能使用它来构建可靠、高效的系统。 2. 深刻了解分布式系统设计:架构师需要有扎实的分布式系统设计知识和经验,包括分布式计算、分布式存储、分布式消息传递等方面。对于Golang架构师来说,熟悉Golang在分布式系统中的特性和优势,能够合理地应用Goland来设计和开发分布式系统,提高系统性能和可扩展性。 3. 掌握常用的系统设计模式:架构师需要了解和掌握常用的系统设计模式,包括但不限于单例模式、工厂模式、观察者模式、代理模式等。这些模式能够帮助架构师更好地设计系统结构,提高系统的可维护性和可扩展性。 4. 熟悉微服务架构:微服务架构是一种将系统拆分成若干小的、自治的服务的架构风格。Golang架构师需要熟悉微服务架构的原理和设计思想,并且能够使用Golang来实现和部署微服务。熟练掌握微服务架构可以提高系统的灵活性、可扩展性和可维护性。 5. 具备高可用和高性能系统设计能力:架构师需要具备设计高可用和高性能系统的能力。这包括对系统性能的监控和优化、负载均衡、容错处理等方面的知识。Golang作为一门高性能的语言,架构师需要了解Golang的性能优化技巧,使用Golang构建高可用和高性能的系统。 总之,作为Golang架构师,不仅需要熟练掌握Golang语言,还需要具备分布式系统设计、系统架构设计、微服务架构等方面的知识和经验,才能设计和构建出高效、可靠的系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值