>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring:Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 20078 个阅读者 刷新本主题
 * 贴子主题:  写给新手的Spring Cloud的微服务入门教程 回复文章 点赞(0)  收藏  
作者:sunshine    发表时间:2020-03-11 20:20:03     消息  查看  搜索  好友  邮件  复制  引用

  

1. 微服务简介

1.1 什么是微服务架构

  • 微服务架构是系统架构上的一种设计风格
  • 将大系统拆分成N个小型服务
  • 这些小型服务都在各自的线程中运行
  • 小服务间通过HTTP协议进行通信
  • 有自己的数据存储、业务开发、自动化测试和独立部署机制
  • 可以由不同语言编写
  小结:微服务架构的思想,不只是停留在开发阶段,它贯穿了设计,研发,测试,发布,运维等各个软件生命周期。

2. 架构体系

点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小
架构样例:
点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

2.1 微服务发布--持续集成

点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

3. 微服务架构九大特性

  1. 服务组件化
    -- 组件是可独立更换、升级的单元。就像PC中的内存,CPU一样。
  2. 按业务组织团队
    -- 要求人员全栈技能
  3. 做“产品”的态度
    -- 对整个产品生命周期负责,而不是做“项目”交付态度
  4. 智能端点与哑管道
    -- 微服务间的通讯方式:
    --- HTTP的RESTful API
    --- MessageMQ消息队列
    1. 去中心化治理
      --不是每一个问题都是钉子,不是每一个解决方案都是锤子。
    2. 去中心化数据管理
      --独立维护各服务数据存储,尽量使服务间“无事物”调用,通过补偿机制维护数据一致性问题
    3. 基础设施自动化
      -- 自动化测试
      -- 自动化部署
    4. 容错设计
      -- 每个服务实现监控和日志组件,比如服务状态,断路器状态,吞吐量,网络数据等关键数据仪表盘
    5. 演进式设计
      --初期单体,逐步拆分,抽取公共组件

4. 微服务选型

  •   Dubbo 是阿里多年构建生产级分布式微服务的技术结晶,服务治理能力非常丰富,在国内技术社区具有很大影响力,目前 github 上有超过 16k 星。Dubbo 本质上是一套基于 Java 的 RPC 框架,当当 Dubbox 扩展了 Dubbo 支持 RESTful 接口暴露能力。
  •   Dubbo 主要面向 Java 技术栈,跨语言支持不足是它的一个弱项,另外因为治理能力太丰富,以至于这个框架比较重,完全用好这个框架的门槛比较高,但是如果你的企业基本上投资在 Java 技术栈上,选 Dubbo 可以让你在服务框架一块站在较高的起点上,不管是性能还是企业级的服务治理能力,Dubbo 都做的很出色。
  • 新浪微博开源的 Motan(GitHub 4k stars)也不错,功能和 Dubbo 类似,可以认为是一个轻量裁剪版的 Dubbo。
    点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

    5. Spring Cloud 介绍

  •   Spring Cloud技术栈提供了分布式系统和微服务中所需要的约大多数公共模块和功能
  •   Spring Cloud的出现,可以说是对微服务架构巨大的支持和强有力的后盾
  • 使用Spring Cloud就像直接购买品牌机一样,在Spring 社区的整合下,做了大量的兼容性测试,拥有更好的稳定性。
点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

6. Spring Cloud 版本管理

  http://projects.spring.io/spring-cloud/
点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

7. Spring Cloud 组件

  • 微服务基础
  • 微服务构建 Spring Boot
  • 服务治理 Spring Cloud Eureka
  • 客户端负载均衡 Spring Cloud Ribbon
  • 服务容错保护 Spring Cloud Hystrix
  • 声明式服务调用 Spring Cloud Feign
  • Api网关服务 Spring Cloud Zuul
  • 分布式配置中心 Spring Cloud Config
  • 消息总线 Spring Cloud Bus
  • 消息驱动的微服务 Spring Cloud Stream
  • 分布式服务跟踪 Spring Cloud Sleuth
----------------------------
原文链接:https://blog.51cto.com/5425055/2471118

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-03-13 12:00:48 重新编辑]
  Java面向对象编程-->多线程(下)
  JavaWeb开发-->Web运作原理(Ⅲ)
  JSP与Hibernate开发-->Java对象持久化技术概述
  Java网络编程-->用Swing组件展示HTML文档
  精通Spring-->Vue组件开发基础
  Vue3开发-->Vue指令
  Spring Boot 入门,用 Spring Boot 写第一个 HelloWorld 程序
  RocketMQ-Spring 为什么能成为 Spring 生态中最受欢迎的
  SpringCloud Feign的分析
  Mybatis Plus 多租户架构(Multi-tenancy)实现
  Spring MVC文件上传与下载
  Spring MVC实现国际化的几种方式
  Spring MVC控制器类的方法的所支持的方法参数类型
  微服务架构的基础框架选择:Spring Cloud还是Dubbo?
  Nginx技术探秘
  spring cloud分布式微服务的概览
  中央厨房订单管理系统,引入ActiveMQ消息队列,平滑处理高峰...
  带你逆袭kafka之路
  SVN使用指南:查看历史信息的方法
  Spring如何实现AOP,请不要再说cglib了!
  Hibernate拦截器与监听器
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。