zoukankan      html  css  js  c++  java
  • 如何进行微服务架构演进

    当我们将所有的新业务都使用Spring Cloud这套架构之后,就会出现这样一个现象,公司的系统被分成了两部分,一部分是传统架构的项目,一部分是微服务架构的项目,如何让这两套配合起来使用就成为了关键,这时候Spring Cloud里面的一个关键组件解决了我们的问题,就是Zuul。在Spring Cloud架构体系内的所有微服务都通过Zuul来对外提供统一的访问入口,所有需要和微服务架构内部服务进行通讯的请求都走统一网关。如下图:

    从上图可以看出我们对服务进行了分类,有四种:基础服务、业务服务、组合服务、前置服务。不同服务迁移的优先级不同

    • 基础服务,是一些基础组件,与具体的业务无关。比如:短信服务、邮件服务。这里的服务最容易摘出来做微服务,也是我们第一优先级分离出来的服务。

    • 业务服务,是一些垂直的业务系统,只处理单一的业务类型,比如:风控系统、积分系统、合同系统。这类服务职责比较单一,根据业务情况来选择是否迁移,比如:如果突然有需求对积分系统进行大优化,我们就趁机将积分系统进行改造,是我们的第二优先级分离出来的服务。

    • 前置服务,前置服务一般为服务的接入或者输出服务,比如网站的前端服务、app的服务接口这类,这是我们第三优先级分离出来的服务。

    • 组合服务,组合服务就是涉及到了具体的业务,比如买标过程,需要调用很多垂直的业务服务,这类的服务我们一般放到最后再进行微服务化架构来改造,因为这类服务最为复杂,除非涉及到大的业务逻辑变更,我们是不会轻易进行迁移。

    在这四类服务之外,新上线的业务全部使用Sprng Boot/Cloud这套技术栈。就这样,我们从开源项目云收藏开始,上线几个Spring Boot项目,到现在公司绝大部分的项目都是在Spring Cloud这个架构体系中。

  • 相关阅读:
    Java之序列化和反序列化
    Java之流的分类
    Java之扫描目录,修改文件内容
    Java之数据流-复制二进制文件
    Java之字符流操作-复制文件
    Java之字节流操作-复制文件
    SQL语句优化原则
    php程序效率优化的一些策略小结
    MYSQL的索引类型:PRIMARY, INDEX,UNIQUE,FULLTEXT,SPAIAL 有什么区别?各适用于什么场合?
    笔记:php有那几种错误提示和查错方法
  • 原文地址:https://www.cnblogs.com/borter/p/9570146.html
Copyright © 2011-2022 走看看