华为内部如何实施微服务架构?基本就靠这5大原则
服务调用方式:同步调用、异步调用、并行调用.一次服务调用,通常就意味着会挂一个服务调用线程.采用异步调用,可以避免线程阻塞,提升系统的吞吐量和可靠性.但是在实际项目中异步调用也有一些缺点,导致使用不是特别广泛:
并行调用适用于多个服务调用没有上下文依赖,逻辑上可以并行处理,类似JDK的Fork/Join,并行服务调用涉及到同步转异步、异步转同步、结果汇聚等,技术实现难度较大,目前很多服务框架并不支持.采用并行服务调用,可以把传统串行的服务调用优化成并行处理,能够极大的缩短服务调用时延.三种服务调用方式的原理图如下: 微服务故障隔离:线程级、进程级、容器级、VM级、物理机级等.关键技术点:
谈到分布式,就绕不开事务一致性问题:大部分业务可以通过最终一致性来解决,极少部分需要采用强一致性. 具体的策略如下:
微服务的性能三要素:
公司内部服务化,对性能要求较高的场景,建议使用异步非阻塞I/O(Netty) + 二进制序列化(Thrift压缩二进制等) + Reactor线程调度模型. 最后我们一起看下微服务的接口兼容性原则:技术保障、管理协同.
(编辑:源码网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |