一、优秀组件设计的五大原则
1、最小单元原则
2、复用性原则
3、可替换原则
4、高内聚原则
5、稳定性依赖原则
二、SOA–面向服务的架构.
具体技术框架包括:
1、服务被拆分后形成共享服务
2、服务间的通讯只采用两种方式:
1)通过服务接口(HTTP)直接调用
2)服务通过Pub/Sub总线交换数据 和通知
3、采用统一的服务开发框架开发
4、服务通过流程引擎编排实现业务场景
5、一个服务成立一个小团队
6、各个服务把数据写入统一的数据仓库中.
四、服务注册发现
服务注册发现表示服务消费者如何发现服务提供者.服务注册发现的核心是服务注册表,他是一个包含服务实例网络位置信息的数据库.每当服务实例启动和停止时,服务发现机制都会更新服务注册表.
五、SOA设计的原则
1、单一职责原则
每个服务有且只有一个被创建,修改的理由,也就是任何一个服务只对一个利益相关者负责.如果某个服务涉及多个利益相关者,那就要将其拆分
2、接口隔离原则
在接口设计过程中需要避免不必要的依赖,为不同类型的用户提供独立的接口.不同于上面的原则对功能实现分组,接口隔离 原则 是对不同用户 提供接口拆分 ,但是实现可以被 合并.
3、增量演进原则
为了使应用便于修改,soa建议采用新增接口的方式来修改服务行为,而非修改现有接口,增量演进原则确保了应用的扩展性,同时限制其修改所影响的范围,预先准备了后期的变更,实现向下 兼容.
4、服务替换原则
如果希望可以替换服务,那么这些服务就必须遵守同一契约,一旦违反了服务替换原则,整个应用就不得不为代码的更新增加大量复杂的机制.
5、依赖反转原则
业务高层策略性服务不应该依赖底层基础服务,而应该让底层基础服务依赖高层策略性服务.建议高层服务使用应用抽象类型,而非多变的具体实现,因为接口或抽象类较为稳定.
单一职责原则实现了代码的分组,接口隔离原则实现了接口层面使用的隔离,增量演进原则为每个服务的扩展做好了准备,服务替换原则为每个服务的 替换做好了 准备,依赖反转原则阐述了服务与服务之间的依赖关系.