SpringCloud
文章平均质量分 96
对SpringCloud微服务框架入门以及逐步深入的学习
XQ_898878888
这个作者很懒,什么都没留下…
展开
-
【11】微服务链路追踪SkyWalking
对于一个大型的几十个、几百个微服务构成的微服务架构系统,通常会遇到下面一些问题,比如:如何串联整个调用链路,快速定位问题?如何缕清各个微服务之间的依赖关系?如何进行各个微服务接口的性能分折?如何跟踪整个业务流程的调用处理顺序?skywalking是一个国产开源框架,2015年由吴晟开源 , 2017年加入Apache孵化器。skywalking是分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。原创 2024-07-20 17:59:38 · 829 阅读 · 0 评论 -
【01】微服务架构分析及发展
1. 微服务简介1.1 背景分析先分析一下单体应用。所谓单体应用一般是基于idea/eclipse,maven等建一个工程,然后基于SpringBoot,Spring,Mybatis框架进行整合,接下来再写一堆dao、mapper、service、controller,再加上一些的配置文件,有可能还会引入redis、elasticsearch、mq等其它项目的依赖,开发好之后再将项目打包成一个jar包/war包。然后再将包扔到类似tomcat这样的web服务中,最后部署到公司提供给你的Linux服务器上原创 2021-07-27 18:53:23 · 492 阅读 · 0 评论 -
【02】Nacos-服务注册中心
1. Nacos注册中心简介1.1 背景分析在微服务中,首先需要面对的问题就是如何查找服务(软件即服务),其次,就是如何在不同的服务之间进行通信。如何更好更方便的管理应用中的每一个服务,如何建立各个服务之间联系的纽带,由此注册中心诞生(例如淘宝网卖家提供服务,买家调用服务)。市面上常用的注册中心有Zookeeper(雅虎Apache),Eureka(Netfix),Nacos(Alibaba),Consul(Google)。下面我们选择Nacos进行学习,Nacos它很好的支持了阿里的双11活动,不仅原创 2021-07-28 20:53:16 · 1271 阅读 · 0 评论 -
【03】微服务负载均衡器Ribbon
通过实现 IRule 接口可以自定义负载策略,主要的选择服务逻辑在 choose 方法中。@Override@Override//获取当前请求的服务的实例修改配置文件StockService: #被调用的服务名ribbon:NFLoadBalancerRuleClassName: com.example.ribbon.CustomRule # 设置为自定义的策略。原创 2024-07-07 10:44:49 · 785 阅读 · 0 评论 -
【04】微服务通信组件Feign
Feign是Netflix开发的声明式、模板化的HTTP客户端,其灵感来自Retrofit、JAXRS-2.0以及WebSocket。Feign可帮助我们更加便捷、优雅地调用HTTP API。Feign支持多种注解,例如Feign自带的注解或者JAX-RS注解等。Feign 提供了很多的扩展机制,让用户可以更加灵活的使用。自定义拦截器实现认证逻辑(只有请求拦截,没有响应拦截)@Overridelogger.info("feign拦截器");在配置类中进行配置/*** 自定义拦截器。原创 2024-07-07 11:31:15 · 849 阅读 · 0 评论 -
【05】服务配置中心Nacos
1.配置中心简介1.1 背景分析除了代码之外,软件还有一些配置信息,比如数据库的用户名和密码,还有一些我们不想写死在代码里的东西,例如像线程池大小、队列长度等运行参数,以及日志级别、算法策略等, 还有一些是软件运行环境的参数,如Java 的内存大小,应用启动的参数,包括操作系统的一些 参数配置…… 所有这些东西,我们都叫做软件配置。以前,我们把软件配置写在一个配置文件中,就像 Windows 下的 ini 文件,或是 Linux 下的 conf 文件。然而,在分布式系统下,这样的方式就变得非常不好管理,原创 2021-07-29 20:54:50 · 725 阅读 · 0 评论 -
【06】限流熔断降级插件Sentinel
1. Sentinel简介1.1 背景分析在我们的日常生活中,经常会在淘宝、天猫、京东等平台上参与商品的秒杀、抢购一些优惠商品,也会在节假日使用抢票软件购票,这些场景都会引起服务器流量的暴涨,导致页面无法显示,APP反应慢,功能无法正常运转,甚至会引起整个网站的崩溃。如果要使这些业务在流量变化无常的情况下,保证各种业务安全的运营,系统在任何情况下都不会崩溃,我们可以在系统负载过高时,采用限流、降级和熔断三种措施来保护系统,由此一些流量控制中间件诞生了,例如: Sentinel。1.2 Sentine原创 2021-07-31 17:45:23 · 446 阅读 · 1 评论 -
【07】分布式事务解决方案
事务()是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在关系数据库中,一个事务由一组SQL语句组成。原子性一致性隔离性持久性。任何事务机制在实现时,都应该考虑事务的ACID特性,包括:本地事务、分布式事务。原创 2024-07-14 09:31:57 · 925 阅读 · 0 评论 -
【08】分布式事务Seata 之 AT事务模式
1. Seata介绍Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。1.1 Seata AT事务方案Seata 的 AT 模式(Automatic Transaction)是一种无侵入的分布式事务解决方案。下面结合具体业务场景来分析其执行的原理。1.1.1 业务场景订单系统当用户下订单时,执行以下三步流程:(1)订单系统保存订单(2)订单系统调用原创 2021-08-25 15:28:41 · 1152 阅读 · 1 评论 -
【09】分布式事务Seata 之 TCC事务模式
准备工作第一步:先创建一个空工程:seata-tcc第二步:将无事务订单项目解压到seata-tcc文件夹下。(可访问 git 仓库 https://gitee.com/benwang6/seata-samples下载无事务订单项目)第三步:在IDEA 按两下 shift 搜索add maven project,选择需要导入的模块的pom.xml文件,将项目都导入工程中。TCC事务入门案例父工程添加seata依赖打开父工程order-parent的pom.xml文件,取消seata依赖的注释。原创 2021-08-30 10:03:13 · 440 阅读 · 0 评论 -
【10】微服务组件网关Gateway
1. 网关简介1.1 背景分析当一个大型系统在设计时,经常会被拆分为很多个微服务。那么作为客户端应该如何去调用这许多的微服务。客户端可以直接向微服务发送请求,每个微服务都只有一个公开的URL,该URL可以直接映射到具体的微服务,如果没有网关的存在,我们只能在客户端,记录每个微服务的地址,然后分别去调用。这样的框架会存在诸多的问题,例如,客户端请求不同的微服务可能会增加客户端代码或者配置的复杂性。还有可能每个服务在调用时都需要独立认证和跨域请求,这就导致调用的过程很繁杂。基于微服务架构中的设计及实现上的问原创 2021-08-01 10:38:21 · 286 阅读 · 1 评论 -
SpringCloud之随堂笔记
eureka运行机制(1)注册:客户端会一次一次反复连接服务器,直到注册成功为止(2)拉取:客户端每30秒重复拉取注册表,刷新注册表(3)心跳:客户端每30秒发送一次心跳数据,服务器在连续3次收不到一个服务的心跳后,会删除这个服务(4)自我保护模式:由于网络不稳定,或网络中断,15分钟内,85%服务器出现心跳异常,会进入保护模式,保护所有注册信息不删除网络恢复之后,会自动退出保护模式恢复正常,开发调试期间,可以禁用保护模式,避免影响测试。zuul网关zuul API 网关,为微服务应用提供原创 2024-05-16 22:36:30 · 879 阅读 · 1 评论 -
分布式事务--订单案例准备
订单业务案例1. 准备工作1.1 创建空工程 empty project: seata-at1.2 创建spring模块 db-init1.3 添加依赖jdbc api、mysql driver、springboot版本:2.3.2.RELEASE <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-start原创 2021-08-25 09:15:19 · 236 阅读 · 0 评论