学习视频参考:
B站视频教程:SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程
链接:https://www.bilibili.com/video/BV1LQ4y127n4?p=4&vd_source=2ee5a3ac7c365bd149557aa71f4e04e4

一、微服务技术基本概念

微服务就是由一系列围绕自己业务开发的微小服务构成,他们独立部署,运行在自己的进程里,基于分布式的管理

  • 基于原来单个应用开发出一系列微小服务
  • 每个服务运行在自己计算机进程里面
  • 每个服务基于项目中业务进行拆分
  • 拆分出来的每个服务独立部署
  • 这些服务都是基于分布式管理

二、微服务技术栈

具体技术:

三、单体架构

单体架构是将业务的所有功能集中在一个项目中开发,打成一个包部署。

优点:架构简单、部署成本低

缺点:耦合度高

四、分布式架构

分布式架构根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,成为一个服务。

优点:降低服务耦合;有利于服务升级拓展;

问题:

  1. 服务拆分粒度如何把控?
  2. 服务集群地址如何维护?
  3. 服务之间如何实现远程调用?
  4. 服务健康状态如何感知?

五、微服务

微服务是一种经过良好架构设计的分布式架构方案,微服务架构的特征:

  • 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责,避免重复业务开发
  • 面向服务:微服务对外暴露业务接口
  • 自治:团队独立、技术独立、数据独立、部署独立
  • 隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题

六、总结

七、SpringCloud组件

  • SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验:

八、服务拆分及远程调用

1、服务拆分注意事项

  1. 微服务需要根据业务模块拆分,做到单一职责,不要重复开发相同业务
  2. 不同微服务都应该有自己独立的数据库
  3. 微服务可以将自己的业务暴露为接口,供其它微服务调用

【微服务学习笔记】一、认识微服务及微服务组件相关推荐

  1. Java微服务学习笔记(一):微服务架构的概念理解

    Java微服务学习笔记 Tips:入门学习时粗略整理,仅供参考 (一):架构的基础理解 文章目录 Java微服务学习笔记 前言 一.微服务是什么? 二.常用开源微服务框架演化 1. Dubbo 2. ...

  2. 华为帐号服务学习笔记(四):Authorization Code模式服务端开发

    笔者在<华为帐号服务学习笔记(二):OAuth2.0协议详解>中已经给大家介绍了Authorization Code模式是需要有后台服务器才能使用的,并且在<华为帐号服务学习笔记(三 ...

  3. nrf52832 学习笔记(九)蓝牙主机发现服务

    nrf52832 学习笔记(九)蓝牙主机发现服务 服务发现流程 数据如同下表一样存储在服务端,客户端首先要获取表中的Handle和Type列,从而知道服务端中存在哪些数据,以便后面读.写.通知等操作. ...

  4. amazeui学习笔记二(进阶开发2)--Web组件简介Web Component

    amazeui学习笔记二(进阶开发2)--Web组件简介Web Component 一.总结 1.amaze ui:amaze ui是一个web 组件, 由模板(hbs).样式(LESS).交互(JS ...

  5. java什么叫做微服务_微服务学习笔记——什么是微服务

    Martin Fowler:简而言之,微服务架构风格这种开发方法,是以开发一组小型服务的方式来开发一个独立的应用系统的.其中每个小型服务都运行在自己的进程中,并经常采用HTTP资源API这样轻量的机制 ...

  6. 微服务学习笔记(一):什么是微服务架构

    一.分享MarkDown小技巧 最初只需要记住 #标题一.## 标题二.1. 第一点.* 这一点,用这几个写写日志.需求文档.小文章,排版上足够了: 逐渐你会发现有些文字需要重点指出,那么还可以使用* ...

  7. springcloud微服务学习笔记

    此篇内容较长. 目录 一.关于微服务 二.微服务工程的构建 1.新建maven父工程 2.新建公共模块 3.新建微服务提供者8001 4.新建微服务消费者80 三.服务和发现注册中心(Eureka) ...

  8. springcloud和分布式微服务学习笔记

    1.什么是SpringCloud Spring cloud 流应用程序启动器是基于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集 成.Spring cloud Task, ...

  9. Orleans[NET Core 3.1] 学习笔记(三)( 3 )服务端配置

    服务端配置 Silo通过SiloHostBuilder和许多补充选项类以编程方式进行配置. Silo配置有几个关键方面: Orleans集群信息 集群提供程序(不知道咋翻译) Silo到Silo和Cl ...

最新文章

  1. 第十六届智能汽车竞赛AI视觉组分赛区数据集发布
  2. 89.算数移位 -逻辑移位-循环移位
  3. SpringCloud Zuul(四)之工作原理
  4. python保存文件,如果目录不存在,则创建
  5. 利用httponly提升应用程序安全性
  6. c语言函数简单注释模板,C语言中的Doxygen注释模板
  7. 作为文本内容空格的HTML标签,HTML.fromHtml在文本末尾添加空格?
  8. 今年双12全天 邮政、快递企业共揽收邮(快)件达4.6亿件
  9. apollo @value没生效_不问不要紧,一文要人命,绝对的面试加分项配置中心Apollo深度解读...
  10. C语言如何生成随机数
  11. Linux下添加开机启动,Linux设置程序开机自启动
  12. delphi xe10 android x86,盒子 - 完整版DELPHI XE10.1移动开发框架  绝对可以使用
  13. SQL Server“对象名无效”报错的解决方法
  14. Python案例之Numpy + Pandas——北京房价分析、2018年北京积分落户数据分析
  15. 管人用人育人留人之道-不值得定律
  16. shell双引号、单引号、反撇号的使用
  17. (小程序) 客户签名及签名后页面整体转图片后上传
  18. LeetCode-1225. 报告系统状态的连续日期(困难)
  19. android 图形平移 镜子效果 倒影效果
  20. AI正在把超声波装进你的智能手机 及时筛查人体健康问题

热门文章

  1. 大白话5分钟带你走进人工智能-第十四节过拟合解决手段L1和L2正则
  2. Apache Http Server 解决不同域名共用服务器80端口问题
  3. 人事小姐姐找我提需求:一键生成这个月的假条!还好我会...
  4. Kendall tau距离
  5. python实现Kendall相关性检验
  6. layui获取input信息_企业工商信息怎么批量查询2
  7. js防止刷访问量_优化js脚本设计,防止浏览器假死
  8. 有多少爱 就有多少原谅
  9. python学习——Day5
  10. Python控制AI虚拟主播说话聊天源码分享