IT治理:
IT治理的简单定义就是使参与信息化过程的各方利益最大化的制度措施。这一概念由IBM引入中国。其本质是服务于业务,最终目标是为业务保驾护航,完成使命的同时,平衡信息化中的风险,推动收益最大化。
https://baike.baidu.com/item/IT%E6%B2%BB%E7%90%86/10766885
服务治理:
早期多数人习惯于使用JSP实现系统所有功能,为了实现解耦,思考出了基于MVC的框架,将模块内偏向展示的部分抽成独立的视图层(view),将负责请求处理的有任务代码独立为控制层(control),由一个统一的业务模型(model)贯穿,这样,一个模块功能开发就可以由团队不同人员进行负责(UI设计师、前端工程师、后端工程师)。
架构的分层并没有完全解耦,前后端代码耦合,模块间代码依赖,这些问题也暴露了出来,于是组件库出现了,那些对外无依赖的组件可以被抽象出来发布为通用组件。工程量有显著的优化,业务开发人员不再需要关注那一坨底层功能代码,复杂度转移到了应用与组件之间的网状依赖关系中。
单体应用会随时间增长逐渐变大,很难进行架构升级和优化,所以企业级应用会拆分为细化的应用。
企业SOA治理:
点对点(P2P)模式:
直连模式是最为原始的模式,协议五花八门,比如HTTP,文件交换。这种模式带来的问题师导致各个应用系统之间是一张网状,随着业务的扩展,研发人员需要维护越来越庞大的连接相关代码,协议的随意使用并不适应整体环境的发展。
星型模式:
为了克服直连模式带来的缺陷而产生的解决方案,通过建立一个由中间件组成的企业应用底层架构,(比如RMI,DCOM,J2EE,EJB),这种模式确实解决了P2P带来的问题,但是由于厂商利益导致的技术对抗,协议之间不能互通会带来技术上巨大的竖井。
SOA模型:
SOA模型是一种组件概念模型,采用中立的方式进行接口协议的定义,独立于实现服务的硬件平台,操作系统和编程语言,有效兼容各种协议,使得各系统中的服务可以用通用的方式进行交互。具体落地形式是一个总线形式(中间件技术例如MQ),通过与XML等标准化协议进行结合,解决不同协议转换的问题。
在ESB(服务总线)上既可以支持例如CORBA类的同步调用,也支持走MQ协议的异步调用。
SOA带来的问题就是,整个技术栈很长,流程相当复杂,没有人可以做到cover整个流程,最终就会导致流程的失控
为此,IBM推出了"SOA治理及管理方法"(SGMM):
计划:确定SOA治理重点
定义:定义SOA治理模型
启用:实现SOA治理模型
度量:改进SOA治理模型
看的出来SOA的规范与治理难度相当庞大而复杂,同时ESB模型本身就是一个单点,即使采用主备提高可用性,在量级到达一个瓶颈时候仍然会是最容易倒下的那张牌
分布式服务:
互联网领域服务化的拆分,比如住房,娱乐,消费,业务上的拆分最终映射到技术层面上的拆分,相应的应用架构也会进行拆分,但是众多业务架构总有相同的业务操作,比如结算,管理,存储,顺应趋势的分布式服务应运而生。服务的拆分原子化更容易快速的迭代上线,更符合高速发展的互联网社会。
分布式服务带来的是比SOA更为庞大的治理难度,不仅需要服务度量,还需要服务管控(上下线,路由,限流,降级,熔断,授权)
分布式服务发展越来越庞大,但是底层缺越来越扁平化,粒度越来越小,大平台,微服务发展成为了一种必然的趋势--
如果看完觉得有所收获的话,记得点赞关注哦,努力一定会进步,谢谢大家~