# 服务架构设计
# 概述
服务化是一种方法,它开发一个单一的应用程序来作为构成整体服务的小服务,每个小服务都运行在它自己的进程中, 并且使用一个轻量级的机制进行通讯。这些服务都围绕业务能力来构建,并且可依赖全自动部署机制来独立部署。这在一定 程度上解决了伸缩性问题、运行效率问题、开发效率问题,并支持在纵向和横向两个维度进行伸缩,促进新旧技术和架构的更替。
# 服务架构设计
# 服务架构思想
研发平台架构设计思想极度参考的基础六大架构设计原则
# 单一职责原则
对于一个类而言,应该仅有一个引起它变化的原因。说白了就是,不同的类具备不同的职责,各施其责。这就好比一个团队,大家分工协作,互不影响,各做各的事情。
# 开放封闭原则
简言之,对扩展开放,对修改封闭。换句话说,可以去扩展类,但不要去修改类。
# 里氏替换原则
父类能够替换子类,但子类不一定能替换父类。也就是说,在代码中可以将父类全部替换为子类,程序不会报错,也不会在运行时出现任何异常,但反过来却不一定成立。
# 最少知识原则
尽量减少对象之间的交互,从而减小类之间的耦合。简言之,一定要做到:低耦合,高内聚。
# 接口隔离原则
不要对外暴露没有实际意义的接口。也就是说,接口是给别人调用的,那就不要去为难别人了,尽可能保证接口的实用性吧。她好,我也好。
# 依赖倒置原则
应该面向接口编程,不应该面向实现类编程。面向实现类编程,相当于就是论事,那是正向依赖(正常人思维);面向接口编程,相当于通过事物表象来看本质,那是反向依赖,即依赖倒置(程序员思维)。
# 架构说明
# 强约束性
平台提供基础环境和配置,第三方接口封装,对开发只能对接口可见,比如短信,开发只能对接口, 不需要考虑哪个运营商或者哪个平台的短信。
# 技术透明化
平台针对前端,后台,部署都做了进行统一化管理,研发人员只针对业务需求进行开发,只关注业务
# 技术简化性
平台针对于技术尽量减少简化,开发技术在适度范围内禁止添加,如版本,只能使用 jdk 某版本, 前端减去复杂性,如去掉 node,以简洁为主。
# 其它
- 略