>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring:Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 20133 个阅读者 刷新本主题
 * 贴子主题:  写给新手的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开发-->JSP中使用JavaBean(Ⅱ)
  JSP与Hibernate开发-->使用JPA和注解
  Java网络编程-->Java反射机制
  精通Spring-->Vue Router路由管理器
  Vue3开发-->虚拟DOM和render()函数
  MyBatis+Spring 事务管理
  99%的人都能看懂的“熔断”以及最佳实践
  9种设计模式在Spring中的运用,一定要非常熟练!
  Spring MVC中自定义国家化LocaleResolver
  Spring MVC国际化
  @SessionAttributes的用法
  Spring MVC数据验证
  Redis用作消息队列
  RESTful架构和RESTful API设计总结
  一文详解微服务架构(好文值得细读)
  支付结算系统如何应对高并发、热点账户等问题
  Dubbo源码解析之SPI:扩展类的加载过程
  使用idea和gradle编译spring5源码
  一份Spring Boot核心知识清单
  mybatis-plus 注解实现多表关联查询的最佳实践
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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