• 微服务常见问题及解决方案


    1、分解模式:如何把应用分成若干个小服务?

    1)按业务功能分解,将应用分解成能产生业务价值的最小单元。

    2)对于跨多个业务的类(如订单会被订单管理、订单交付多个服务用到)用领域驱动设计(DDD),使用子域和边界上下文的概念来着手解决。

    2、集成模式

    1)API网关模式

    2)聚合器模式

    3、数据库模式

    1)按服务分配数据库,为每个微服务配一个独立的数据库;

    2)按服务共享数据库,一个数据库不要超过3个微服务,否则会影响扩容、自治和独立性。

    3)命令查询职责隔离

    4、观测模式

    1)日志聚合:将多台机器上多个服务实例的请求汇聚到一起搜索和分析

    2)性能指标:服务出现问题及时发出告警

    3)分布式追踪:追踪横跨多个微服务的问题点,如Spring Cloud Slueth + Zipkin Server,是一种常见的实现方式。

    4)健康检查:确保负载均衡不会将请求发给不健康的结点

    5、横切关注点

    1)外部配置:外部化所有配置,确保应用启动时能加载。实现不重启服务刷新

    2)服务发现模式

    3)断路器模式

    4)蓝绿部署模式

    6、微服务架构模式:Sidecar 模式、链式微服务(Chained Microservice)、分支微服务(Branch Microservice)、事件溯源模式(Event Sourcing Pattern)、和持续交付方式等。

  • 相关阅读:
    Js 之获取QueryString的几种方法
    Go语言 之md5加密
    跨域取文件(跨项目)
    System.IO
    System.Threading.Tasks
    JS存取Cookies值,附自己写的获取cookies的一个方法
    HttpServerUtility 和 HttpUyility
    JS格式化时间
    JS获取页面传过来的值
    Navigator 对象
  • 原文地址:https://www.cnblogs.com/doit8791/p/9863192.html
Copyright © 2020-2023  润新知