zoukankan      html  css  js  c++  java
  • 【微服务】微服务概述

    什么是微服务

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

    微服务的特征

    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意在简化分布式,是功能的集合,风格统一

  • 相关阅读:
    【每天半小时学框架】——React.js的模板语法与组件概念
    PHP中使用 $_GET 与$_POST 实现简单的前后台数据传输交互功能
    轻松几句搞定【Javascript中的this指向】问题
    跨平台移动端APP开发---简单高效的MUI框架
    JavaScript基本知识点整理(超实用)
    一款特好用的JavaScript框架——JQuery
    一个比较实用的商业级图表Echarts
    MUI顶部选项卡的用法(tab-top-webview-main)
    一个非常好用的前端JS框架-AngularJS(一)
    JavaScript面向对象中的继承
  • 原文地址:https://www.cnblogs.com/z00377750/p/9404739.html
Copyright © 2011-2022 走看看