• 【微服务】微服务概述


    什么是微服务

    使用一套小服务来开发单个应用的方式,每个服务运行在独立的进程里,一般采用轻量级的通讯机制互联,并且它们可以通过自动化的方式部署。

    微服务的特征

    1、单一职责
    2、轻量级通讯
    3、隔离性
    4、业务数据的独立性(有自己的数据)
    5、技术多样性

    微服务诞生的背景

    1、互联网行业的快速发展
    2、敏捷开发,精溢方法深入人心
    3、容器技术的成熟--使微服务的落地成为可能

    微服务的优势

    1、独立性
    2、敏捷性
    3、技术栈灵活
    4、高效团队

    微服务的不足

    1、额外的工作
    需要确认如何拆分业务,微服务的拆分粒度
    2、数据一致性
    3、沟通成本

    微服务引入的问题及解决方案

    微服务如何通讯

    1、从通讯模式角度考虑:
    一对一?一对多?
    同步?异步?

    2、从通讯协议角度考虑
    REST API
    RPC
    MQ

    如何选择RPC框架?
    1、I/O、线程调试模型
    2、序列化方式(JSON/二进制)
    3、多语言支持
    4、服务治理

    常用RPC框架:Dubbo/Dubbox(当当)/Thrift(A)/Motan(新浪微博)/gRPC(谷歌)

    微服务如何发现彼此

    传统服务的发现

    微服务的发现:
    1、客户端的发现

    2、服务端的发现

    微服务怎样部署、更新、扩容

    服务编排:部署、更新、扩容
    流行的服务编排工具:Mesos/Docker Swarm/Kubernetes

    Spring Boot、Spring Cloud与微服务

    Spring Boot与微服务

    Spring Boot的使命:化繁为简
    Spring Boot核心功能:独立运行、内嵌Web服务器、简化配置、准生产的应用监控

    Spring Boot与微服务的关系:Java的润滑剂

    Spring Cloud与微服务

    Spring Cloud的使命:简化Java的分布式系统

    一系列框架的集合
    简化java的分布式系统
    Spring Boot 封装

    Java的微服务
    侧重功能,侧重开发

    Spring Cloud核心组件
    Netflix Eureka
    Netflix Ribbon
    Netflix Hystrix
    Netflix Zuul
    Spring Cloud Config

    Spring Boot vs Spring Cloud

    Spring Boot 意在简化,是一种开发、配置风格
    Spring Cloud意在简化分布式,是功能的集合,风格统一

  • 相关阅读:
    MATLAB中的SFunction的用法(C语言)
    OpenGL中的转换矩阵
    MATLAB读取和写入Excel文件
    一阶微分方程的求解
    三对角矩阵(Tridiagonal Matrices)的求法:Thomas Algorithm(TDMA)
    CarSim与Simulink联合仿真
    三次样条插值(Cubic Spline Interpolation)及代码实现(C语言)
    在Simulink中创建库
    轮胎的魔术公式(Magic Fomula)模型
    C#中的编译时的类型与运行时的类型
  • 原文地址:https://www.cnblogs.com/z00377750/p/9404739.html
Copyright © 2020-2023  润新知