业务中台的8个设计原则(下)
极客时间编辑部
讲述:初明明大小:2.99M时长:03:16
中台概念的大火燃起了很多企业转型的念头,对开发者来说,了解中台的设计对自身发展有益而无害。《中台战略:中台建设与数字商业》一书中提到了业务中台设计遵循的 8 个原则,公众号技术琐话对其进行了梳理。在上一篇文章中,我们已经分享了前 3 个设计原则,本文继续分享其余 5 个,具体如下。
第四、服务命名原则
强烈建议使用服务使用者专业领域内有意义的名称,优先选用业务概念而不是技术概念。另外,使用名词命名服务,使用动词命名操作。
第五、服务颗粒度原则
服务应是内聚而完整的,能够独立完成一个职责。在服务内部可以是由多个逻辑上密切相关的代码块共同组成。
第六、服务的无状态性原则
微服务体系的基本要求是服务无状态。无状态的服务是可伸缩、高可用性的基础。
第七、服务操作设计原则
操作表示业务动作,应当使用具体的业务含义而不是泛型操作来定义操作。相关的最佳实践如下:
重要的服务不能依赖非重要服务。
任何服务调用都要设定超时时间。
任何服务的调用结果只有三种可能:成功、失败或未知。
能异步调用的服务尽量使用异步调用,从而提高系统响应速度,降低系统之间的耦合性。
系统拆分时,粒度大小以一个系统 3~8 个开发人员维护为宜。
系统拆分时,往往先拆分数据服务层,因为数据服务层通常是复用性高的一层。
服务的实现不能有单点。
线上遵循 fast-fail 原则,避免服务调用时间过长,导致性能下降。fast-fail 原则是只要发生错误,则调用立即返回。
需要对高压场景下的服务调用链路进行特殊处理,可采用将链路缩短、预热等方式。
服务设计过程中,要避免同类服务由不同服务单元提供。
服务要做到向后兼容,如果无法做到,则需要采取管控机制确保服务消费者升级服务。
服务化架构的变化要使组织的架构能适应这种变化。
在部署服务单元时,要将读服务和写服务分离,将核心服务和非核心服务分离,以保证整个服务单元的稳定性和可靠性。
服务化时,要同时考虑安全。
静态资源也可以实现服务化,实现静态资源与动态资源分离,从而提高性能。
通过在外层系统埋点,可以实现面向终端用户服务的精细管理,比如服务的容量、服务的性能等。
需要将每个业务领域的通用规则沉淀成服务。
第八、服务约束原则
包括以下六点:
上可依赖下;
下不可依赖上;
上可跨级依赖下;
平级可允许单向调用,坚决禁止循环依赖;
高级别不可依赖低级别;
简单就是美;
此外,重要的服务不能依赖非重要服务。
以上就是今天的内容,希望对你有所帮助。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论