zoukankan      html  css  js  c++  java
  • 微服务的去中心化治理

    微服务的去中心化治理

     

      随着主体对客体的相互作用的深入和认知机能的不断平衡、认知结构的不断完善,个体能从自我中心状态中解除出来,皮亚杰称之为去中心化。

      当平台的决策者倡导建设API网关,所有外部服务和内部服务都由统一的API网关进行管理。在项目初期,中心化的API网关统一了所有API的入口,这看起来很规范,但从技术角度来看限制了API的多样化。随着业务的发展,API网关开始暴露问题,每个用户请求经过机房时只要有服务之间的交互,则都会从API网关进行路由,服务上量以后,由于内部服务之间的交互都会叠加在API网关的调用上,所以在很大程度上放大了API网关的调用TPS,API网关很快就遇到了性能瓶颈。

      上面这个案例是典型的微服务的反模式,微服务倡导去中心化的治理,不推荐每个微服务都使用相同的标准和技术来开发和使用服务。

    在微服务架构下可以使用C++开发一个服务,来对接Java开发的另外一个服务,对于异构系统之间的交互标准,通常可以使用工具来补偿。开发者可以开发共用的工具,并分享给异构系统的开发者使用,来解决异构系统不一致的问题,例如:Thrift远程调用框架使用中间语言(IDL)来定义接口,中间语言是独立于任何语言的,并提供了工具来生成中间语言,以及在中间语言与具体语言之间的代码转换。

      微服务架构倡导去中心化的服务管理和治理,尽量不设置中心化的管理服务,最差也需要在中心化的管理服务宕机时有替代方案和设计。在支付平台服务化建设中,如果第1层SOA服务化采用Dubbo框架进行定制化,如果Dubbo服务化出现了大面积的崩溃,则服务化体系会切换到点对点的hessian远程调用,这被称为服务化降级,降级后点对点的hessian远程调用时没有中心化节点,整体上符合微服务的原理。

     原文链接

     

  • 相关阅读:
    最强神作!Crysis深度剖析与优化指南(1825)
    到底什么样的一款游戏就算全3D?
    [转贴]因父之名:一个“非科班”的成长史
    转载《阅读一款3D引擎的方法备忘》
    魔兽世界角色换装
    Flash游戏开发之按键控制(复合键,八方向键)
    通过MC里的按钮跳转场景
    Cuyahoga 的安装
    如何从数组中随机取出多个不重复的项
    [Flash开发笔记] flash 8 中的 setTimeout()
  • 原文地址:https://www.cnblogs.com/zhao-teng-ass/p/11055871.html
Copyright © 2011-2022 走看看