zoukankan      html  css  js  c++  java
  • 微服务分布式系统架构,转载,备份

    到底使用是dubbo还是Spring Cloud其实并不重要,重点在于如何合理的利用微服务。下面是一张互联网通用的架构图,其中每个环节都是微服务的核心部分。

    阿里P8架构师谈:微服务Dubbo和SpringCloud架构设计、优劣势比较

    (一)、架构分解

    •  网关集群:数据的聚合、实现对接入客户端的身份认证、防报文重放与防数据篡改、功能调用的业务鉴权、响应数据的脱敏、流量与并发控制等
    •  业务集群:一般情况下移动端访问和浏览器访问的网关需要隔离,防止业务耦合
    •  Local Cache:由于客户端访问业务可能需要调用多个服务聚合,所以本地缓存有效的降低了服务调用的频次,同时也提示了访问速度。本地缓存一般使用自动过期方式,业务场景中允许有一定的数据延时。
    •  服务层:原子服务层,实现基础的增删改查功能,如果需要依赖其他服务需要在Service层主动调用
    •  Remote Cache:访问DB前置一层分布式缓存,减少DB交互次数,提升系统的TPS
    •  DAL:数据访问层,如果单表数据量过大则需要通过DAL层做数据的分库分表处理。
    •  MQ:消息队列用来解耦服务之间的依赖,异步调用可以通过MQ的方式来执行
    •  数据库主从:服务化过程中毕竟的阶段,用来提升系统的TPS

    (二)注意事项

    •  服务启动方式建议使用jar方式启动,启动速度快,更容易监控
    •  缓存、缓存、缓存,系统中能使用缓存的地方尽量使用缓存,通过合理的使用缓存可以有效的提高系统的TPS
    •  服务拆分要合理,尽量避免因服务拆分而导致的服务循环依赖
    •  合理的设置线程池,避免设置过大或者过小导致系统异常
  • 相关阅读:
    RCP中如何使用代码安装、运行plugins
    家传卤水秘方备了个份
    解决Activator X for bundle Y is invalid 以及 Activator not found
    【三分法】hdu2438 Turn the corner
    【01背包】洛谷P1282多米诺骨牌
    【动态规划】洛谷P1004方格取数
    【单调栈】最长不上升子序列变式,洛谷 P2757 导弹的召唤
    【埃氏筛】洛谷P3383埃氏筛模板
    【状压DP】poj3254 Corn Fields
    【动态规划】洛谷P1006传纸条
  • 原文地址:https://www.cnblogs.com/zeenzhou/p/11182594.html
Copyright © 2011-2022 走看看