架构师的演化视角
架构师的职责之一就是保证该系统适合开发人员在其上工作。架构师应该专注在大方向上,只在很有限的情况下参与到非常具体的实现细节中来。架构师需要保证系统既能满足现在的需求,也能应对将来的变化。
分区
将服务划分成多个分区,架构师需要关心的事情就是分区之间的事情,而甚少去关注区域里的事情。代码架构师应该花时间和团队一起工作,理想状态下一起编码,工作频次可以根据实际情况定夺。需要和团队进行有效的沟通已了解团队工作内容。
原则 实践 原则与实践相结合
为了达成某个目的而制定的规则,称为原则。原则并不是一成不变的,会根据实际需要进行调整。原则不要太多,最好不要超过十条,否则发生重叠和冲突的可能性就越大。通过相应的实践,来保证原则能够得到实施,通过实践来巩固原则。
监控
每个服务都应该提供监控功能,可以选择主动推送数据到监控中心,或者采用轮询系统来采集数据。但不论是何种方式,都不应该以为服务的具体实现而改变监控系统。日志功能和监控系统类似:需要集中管理。
接口
制定或选用统一的接口协议,命名规范来开发接口。
架构安全性
要保证每一个服务都能应对下游的错误请求,返回的错误码应该统一,每个服务对于错误请求要妥善处理,帮助定位问题。
代码治理
编写文档,并在文档里提供代码案例。案例需要来自实际项目,以保证可行性。尽量重用代码,但不要强迫性的重用代码,因为引入其他服务来作为依赖,会增加服务的耦合性。
技术债务
架构师在项目开发环节中需要注意团队的技术债务,并及时解决这些问题。
例外管理
对于一些经常出现的特殊情况,需要归类整理。比如修改原则和实践方式,具体步骤需要根据团队的实际情况来选择操作方式。
集中治理和领导
架构师需要关注团队建设和开发人员的技术学习情况,增强单兵作战能力,从团队的建设上来提高工作效率,项目稳定性等。伟大的软件来自于伟大的人。