微服务:实战从传统项目平滑过渡 - 笔记
什么是微服务
服务之间无依赖,可插拔
- 不主动(不主动提供数据/上下线不通知/不告诉你服务内容)
- 不拒绝(只要遵循接口规范,任何客户端都可以调用。应该由注册中心负责负载均衡。)
- 不负责(A调用B,如果没有调通,B不负责将失败的请求转发至另外的节点上,应该由A进行服务降级。)
例如,菜单列表服务需要提供大按钮。如果提供菜单数据的服务挂了,或者超时了,此时前端需要数据的一方进行降级,去缓存中调基本菜单(兜底数据)。
A服务调用B服务,如果调用失败,需要A服务处理。
单体应用向微服务异构平台架构演变
SpringCloud Netflix/Alibaba
流量分发指标:
TPS:动态处理用户的请求,带有事务
QPS:单纯的query,理解为纯静态请求(css,js文件等)。静态资源一般放在前端高性能服务器上,如CDN服务器,或Nginx做动静分离
如何分辨哪些是静态请求,哪些是带有事务的请求?
不连接数据库的,不进行加减乘除的,落地到本地磁盘地址的,都是静态请求。
实战Spring Cloud微服务注册中心
注册中心需要记录:
“服务名称”:“对应的所有可用服务IP:port
列表”
注册中心需要提供:
1、接受注册的接口
2、获取注册表功能
3、注销、下线
4、心跳
5、定时剔除没有心跳的服务
6、注册中心集群之间注册表的同步
同步:
1、注册中心启动的时候,去其他注册中心拉取已经有的注册表,注册到自身
2、当有注册表的操作时(注册、更新、下线、同步到集群中),将操作广播到集群中的其他节点。
微服务:实战从传统项目平滑过渡 - 笔记相关推荐
- 【新书推荐】《ASP.NET Core微服务实战:在云环境中开发、测试和部署跨平台服务》 带你走近微服务开发...
<ASP.NET Core 微服务实战>译者序:https://blog.jijiechen.com/post/aspnetcore-microservices-preface-by-tr ...
- Spring Cloud微服务实战:外卖订餐系统
Spring Cloud微服务实战:外卖订餐系统 项目需求 客户端:针对普通用户, 用户登录.用户退出.菜品订购.我的订单. 后台管理系统:针对管理员, 管理员登录.管理员退出.添加菜品.查询菜品.修 ...
- Spring Cloud微服务实战:手把手带你整合eurekazuulfeignhystrix(附源码)
Spring Cloud微服务实战:手把手带你整合eureka&zuul&feign&hystrix(附源码) Spring Cloud简介 Spring Cloud是一个基于 ...
- Docker与微服务实战2022:基础篇
Docker与微服务实战2022:高级篇 目录 一.简介 二.安装docker 三.操作命令 3.1.帮助命令 3.2.镜像命令 3.3.容器命令 四.镜像分层 五.本地镜像推送到阿里云 1.阿里云镜 ...
- maven 聚合工程 用spring boot 搭建 spring cloud 微服务 模块式开发项目
项目的简单介绍: 项目采用maven聚合工程 用spring boot 搭建 spring cloud的微服务 模块式开发 项目的截图: 搭建开始: 能上图 我少打字 1.首先搭建maven的聚合工程 ...
- 微服务: 想办法让项目运行起来
原文 微服务: 想办法让项目运行起来,CSDN同步发布. 转载请注明出处,谢谢! 必备工具 最新的 Spring Boot 发布版本是 2.1.4,需要JDK版本最小为8即 JDK8,构建工程的工具 ...
- 尚硅谷2020微服务分布式电商项目《谷粒商城》学习笔记
尚硅谷2020微服务分布式电商项目<谷粒商城> 项目简介 资料 百度云 链接:https://pan.baidu.com/s/1eGCTi6pLtKbDCwBs-zCOzQ 提取码:1pm ...
- Java微服务_医疗管理项目_基于若依快速开发框架
一.项目简介 项目简介:尚医疗是专门为各大医院.门]诊提供的一款医疗管理平台.系统包含:系统 管理.药品进销存管理.看病就诊.收费管理.检查管理.数据统计等核心模块.通过尚医 疗系统可以快速方便的管理 ...
- 分布式与微服务——Iaas,Paas和Saas、单体应用和缺点、微服务概念、传统 分布式 SOA 架构与微服务架构的区别、微服务实战、什么是RPC、CAP定理和BASE理论、唯一ID生成、实现分布式
文章目录 1-什么是Iaas,Paas和Saas 一 IaaS基础设施服务 二 paas平台即服务 三saas软件即服务 四 总结 2-单体应用和缺点 一 单体应用 二 单体应用的缺陷 3-微服务概念 ...
最新文章
- Eclipse插件安装
- 使用Anaconda完全替代官方Python
- flask高级编程 LocalStack 线程隔离
- C++学习笔记1:virtual 继承
- Spark Streaming 和 Flink 的对比以及详细描述,图文对比、代码
- 异常记录——使用Mybatis报BindingException
- 用video标签流式加载
- JAVA的序列化不得不说的事
- Hive 窗口函数lead、lag
- 利用EXCEL进行数据爬虫
- Bulma CSS - 简介
- ## 微星gl63笔记本安装ubuntu18.04双系统
- 【软件网每日新闻播报│第9-18期】
- VB中On Error Resume Next 什么意思,一般在什么情况下使用
- 公共数据库挖掘第一步-GEO数据库下载表达谱数据和生存数据
- 思成五笔的通俗易懂讲解
- ubuntu下添加日语输入法
- U盘文件莫名丢失?这样做可轻松找回!
- 使用脚本配置odbc mysql_LoadRunner利用ODBC编写MySql脚本
- 只有mdf文件和ldf文件--怎么恢复数据库
热门文章
- HDU - 3085 Nightmare Ⅱ(双向bfs)
- 安卓入门系列-01开发工具Android Studio的安装
- BST(Binary Search Tree 二叉查找树模版)
- 我所理解的设计模式(C++实现)—— “一句话总结”和索引
- 关于寻路算法的一些思考(1):A*算法介绍
- 边缘计算、区块链、5G,哪个能走的更远
- python查看文件的编码格式
- Spring+Mybatis多数据源配置(四)——AbstractRoutingDataSource实现数据源动态切换
- The Tail at Scale
- C++中的继承(三)