• 微服务简介


     

    1.软件架构的进化

    1. 什么是软件架构:有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。是在软件内容,经过综合各种因素的考量,权衡,选择特定的技术,将系统划分成不同部分,并使用这些部分相互分工,彼此协作,为用户提供需要的价值。
    2. 相关因素:业务需求,技术栈,成本,组织架构,可扩展性,可维护性。
    3. javaweb的进化之路:一层架构,MVC(ssh,ssm),dubbo
    4. 单体架构:功能,业务集中在一个发布包里,部署运行在同一个进程中。优势(易于开发,易于测试,易于部署,易于水平伸缩),劣势(代码膨胀,难以维护,构建成本大,持续交付周期长,新人上周周期长,创新困难,可扩展性差)

    2.什么是微服务

    1. 使用一套小服务来开发单个应用的方式,每个服务运行在独立的进程里,一般采用轻量级的通讯机制互联,并且他们可以通过自动化方式部署。
    2. 如何拆分最小服务单元(不是固定的量化,是一种设计思路)
    3. 微服务特征:单一职责,轻量级通讯,隔离性,业务数据独立,技术多样性。
    4. 微服务诞生背景:互联网的快速发展,敏捷开发,精益方法,容器技术的成熟。

    3.微服务架构图

    1. 业务场景:登录注册,发送邮件或者短信,获取课程列表
    2. 单体架构图: 

       

    3.  微服务架构图:

             

    4.微服务架构优势,劣势

    1. 优势:独立性,敏捷性,技术栈灵活,高效团队。
    2. 劣势:额外的工作,数据一致性,沟通成本。

    5.微服务间如何通讯

    1. 通讯模式:

       

    2. 通讯协议:REST API,RPC(IO/线程调用模型,序列化方式,多语言支持,服务治理(dubbo,dubbox,thrift,motan,grpc)),MQ
    3. 流行的RPC框架对比

    6.微服务发现

    1. 传统服务“发现”

       

    2. 微服务发现(客户端发现) 
    3. 微服务发现(服务器端发现)

    7.微服务部署,更新,扩容

    1.  服务编排:mesos,docker swarm,kubernetes

  • 相关阅读:
    Window中的Docker 拉取Mysql镜像 并在本地Navicate链接
    Error response from daemon:###unable to delete ### (must be forced)
    WIN10中DOCKER的安装
    ASP.NET MVC3调用分部视图-PartialView的几种方式(集)
    jQuery select操作控制方法小结
    前置体验,才是打动用户的神器
    ASP.NET MVC form验证
    ASP.NET MVC 3 Model【通过一简单实例一步一步的介绍】
    .Net Mvc3框架调用服务端控件解决方案
    Razor基础语法简介
  • 原文地址:https://www.cnblogs.com/jingtyu/p/8745647.html
Copyright © 2020-2023  润新知