订阅软件研发RSS CSDN首页> 软件研发

架构设计最佳实践与必备素养

发表于2015-11-04 10:26| 次阅读| 来源《程序员》杂志| 0 条评论| 作者黄勇

摘要:架构或架构师的话题一直在被人们所谈论,什么是架构?如何设计前后端分离的架构?如何设计高可用的架构?如何设计可伸缩的架构?什么又是架构师?架构师需要哪些品质?本专题为你一一呈现。

架构或架构师的话题一直在被人们所谈论,对于什么是架构?如何设计前后端分离的架构?如何设计高可用的架构?如何设计可伸缩的架构?什么又是架构师?架构师需要哪些品质?程序员应该如何修炼为架构师?本期架构专题会与你逐一分享。

首先是架构实践:

首先是李智慧建议创业公司的工程师们应该掌握一些可伸缩 Web 开发技术,也就是说,系统如何改变自身的处理能力,以满足更多用户访问更多数据而不会对用户体验造成任何影响。文中从单台部署开始,经历了简单拆分独立部署与按功能模块拆分独立部署,最终到集群部署等架构演变过程。文中也讲到了一些核心技术,包括:通过负载均衡器使应用服务器可伸缩、通过远程分布式缓存实现缓存可伸缩、通过主从复制和分布式数据库实现数据库可伸缩等。最后,谈到了可伸缩的技术团队,如何将大团队拆分成若干小团队,是按职能拆分,还是按产品和项目拆分,创业团队建议后者。此外,创业团队需要保持敏捷,不要拘泥于流程规范,建议推行最佳实践,并提倡团队内部分享机制。本文从系统架构到组织架构,十分精彩。

李运华则提出面向业务的立体化高可用架构设计的概念,建议我们将关注点从面向系统的高可用性,转向面向业务的高可用性,制定可量化且可衡量的高可用标准,例如文中提到的:3分钟定位问题、5分钟恢复业务、平均最多2个月发生一次故障。我们必须从业务的角度全方位且立体化地分析和设计高可用架构,从用户层、网络层、服务层、运维层等方面提供技术解决方案,包括:客户端重试、HTTP-DNS、功能分离、功能降级、异地多活,必须从立体化、自动化、可视化等方面进行的系统监控。全文对高可用问题阐述得十分清晰,尤其是涉及到的技术解决方案,价值非凡。

而黄勇带来的 《从MVC到前后端分离》,站在开发者的角度,从传统的MVC模式开始,探讨MVC的优点与不足,随后引出使用REST实现前后端分离的思想。文中会结合一个实战场景,重现一款 REST 框架的构建过程,中间会涉及到一些核心技术与相应的实现步骤,通过本文,我将 REST 框架的架构设计与开发过程清楚描述。

当然,对我个人而言,收获颇多的是孙玄以“58同城”的“58帮帮”为例,给我们介绍了 “58帮帮”技术架构演变的四个阶段,从传统即时通讯讲到商家管理平台与移动营销工具,最后谈到移动推送系统,涵盖了方方面面的内容。该产品对整个系统架构的挑战非常大,可支持每日 10 亿次以上的请求,且支持了 100 万以上的在线用户量。通过阅读本文,您将会了解一个支持高并发的即时通讯平台的架构设计精髓。

另外,想了解物联网架构设计的朋友们,请别错过刘洪峰为我们展现了一个 工业级物联网的架构设计。首先从"互联网+"与“物联网”的区别开始,谈到了物联网架构设计的思想,指出需要从设备端、云端、监控端等三大部分进行架构设计,此外还需要对中间件平台进行架构设计。随后给我们展示了大量的物联网项目案例,包括家庭远程健康监控、农业大棚监控、近海渔业监控、村级污水处理监控等,文章以物联网项目开发的未来发展方向进行收尾。全文信息量丰富,针对想了解物联网架构设计的朋友们帮助极大。

而叶毓睿结合自己对软件定义存储(SDS)认识,为我们介绍了什么是 SDS,以及 SDS 的分类。首先针对 VMware 所提出的软件定义的数据中心(SDDC)的概念,SDDC 可由软件进行自动扩展,软件定义包括抽象、池化和自动化三个阶段,SDDC 包含计算、存储、网络、管理和安全五大组成部分。随后对 SDS 的分类进行了描述,最后以 SDS 的发展作为结束语。本文对 SDS 的做出了全面的介绍,内容新颖。

在一连串精采的架构实战分享后,我们希望不仅外功,更有内力──我们想要探讨关于身为一位架构师,在这个角色上,一些个人内在的历练与省思,是过来人多年行业经验的宝贵密集。

因此,庄表伟论述了 架构师的自我修养。多年的经验让他看见,架构是一组关键性技术决策,架构师就是做出最后决策的人,架构的优劣实际上是很难评价的。架构师需同时具备“硬性能力”与“软性能力”,可见架构师一定是多面手,需要具备多种不同的知识与技能。架构师需要充分理解用户需求,具备过硬的技术实力,需要担当技术领头人,懂得实践出真知,学会避免风险,不断学习,持续优化已有架构。文中最后谈到的架构师提升自我修养的中庸之道,尤为精辟。

最后,邓凡平根据自己在 Tieto、Sony、民生银行等多家知名企业的架构实战经验,针对自己从事的 Android 架构实践为例, 为大家描述架构师的本质,其实架构师无处不在,做架构的人不一定是冠以“架构师”的头衔,架构师需要做到心中有蓝图且有规划,具备极强的执行力,需要对风险有良好的"嗅觉",这才是真正的架构师,此乃“人生何处不架构”,与君共勉!

更多精彩请深入本专题。

专题地址:http://special.csdncms.csdn.net/architecture/

(责编/ 钱曙光,关注架构和算法领域,寻求报道或者投稿请发邮件qianshg@csdn.net,交流探讨可加微信qshuguang2008,备注姓名+公司+职位)


本文来自《程序员》电子刊10月B架构专题文章,程序员2015年电子版订阅火热进行中,包含:iPad版、Android版、PDF版。


值得一提的是,由CSDN举办的 SDCC 2015中国软件开发者嘉年华将于11月19-21日在北京举行,本次大会涵盖:新型数据库、编程语言、工具与平台、产品与设计、前端开发、算法、微信开发、架构实践、安全等九大分 论坛,届时国外知名讲师将分享所在领域的最佳实践。点击这里抢票


  • CSDN官方微信
  • 扫描二维码,向CSDN吐槽
  • 微信号:CSDNnews
程序员移动端订阅下载

微博关注

相关热门文章