Sentinel 入门实践
1.背景介绍 Sentinel是面向云原生微服务的高可用流控防护组件。随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 上面的定义说的太官方,太高端,总结为我的一句话就是Sentinel这块的知识细节太多,需要拿出月以计数的时间来了解掌握,甚至需要配合以年为单位来实践应用才能有深度,够专业的掌握,我这几天的学习和实践皮毛水平都达不到,所以自不量力的来一个小小范围的总结,也算是给本期学习的技术技能画个句号,这几个月的框架学习就先到这里结束。还是那句话,Sentinel组件的深度掌握过于复杂,好在官网文档都是有中文版的,Github项目地址:https://github.com/ali...
文章分类:后端一部分 Spring Cloud
Seata(二)分布式事务Seata集成实践
1.示例说明 前文介绍了什么是Seata以及Seata Server的搭建和集群部署,本篇文章则使用IDEA创建分模块的项目来实践一下基于AT模式的分布式事务。 本次示例构建在一个多模块的项目下,两个业务功能模块seata-users和seata-bless分别提供了操作数据库的HTTP Restful接口,使用主程序模块seata-bootstrap来分别调用这俩微服务模块的接口,模拟常规异常场景来验证两个不同的数据库下的数据是否能正确提交和回滚,同时提交或回滚。 1.1 项目结构 (1)seata是整个项目名称,起到定义使用框架版本信息和具体子模块的功能; (2)seata-base是所有业务功能的子模块,定义各个模块的公用组件依赖和公共处理类; (3)seata-bootstrap是项目的主启动模块,定义Spring Boot程序的启动和API调用模块; (4)seata-users...
文章分类:后端一部分 Spring Cloud
分布式事务Seata(一)分布式事务Seata Server集群环境搭建
基本介绍 Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。在 Seata 开源之前,其内部版本在阿里系内部一直扮演着应用架构层数据一致性的中间件角色,帮助经济体平稳的度过历年的双11,对上层业务进行了有力的技术支撑。经过多年沉淀与积累,其商业化产品先后在阿里云、金融云上售卖。2019.1 为了打造更加完善的技术生态和普惠技术成果,Seata 正式宣布对外开源,未来 Seata 将以社区共建的形式帮助用户快速落地分布式事务解决方案。 分布式事务是来源于微服务的(或类似的场景),多个服务存在相互调用的关系,可能在某个请求的调用链路上存在着多处写数据库表的动作,分布式事务就要保证这些操作表的动作要么全部成功,要么全部失败。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。前面一篇文章《分...
文章分类:后端一部分 Spring Cloud
分布式事务分布式事务Atomikos介绍与实践
1.基本介绍 Spring Boot整合了Atomikos和Bitronix两个JTA(Java Transaction API)的实现,但在2.3.0的版本中Bitronix不推荐使用Bitronix了,所以重点来关注一下Atomikos的组件。Atomikos提供了两款分布式事务产品级解决方案,分别是ExtremeTransactions和TransactionsEssentials,前者需要商业授权,后者是开源免费使用版本,TransactionsEssentials是免费的,可无缝升级为ExtremeTransactions版本,选择官方说是否商用版本取决于您是否认真对待事务,并希望组成自己的轻量级运行时以取代传统的应用程序服务器,反正对于个人来讲闭着眼睛肯定是开源免费版本。 Atomikos TransactionsEssentials是领先的开源JTA/XA分布式事务管理实现,...
文章分类:后端一部分 Spring Cloud
分布式事务RocketMQ(二)RocketMQ-Dashboard控制台项目介绍
RocketMQ-Console是RocketMQ项目的扩展插件,是一个图形化管理控制台,提供Broker集群状态查看,Topic管理,Producer、Consumer状态展示,消息查询等常用功能,这个功能在安装好RocketMQ后需要额外单独安装、运行。在2021年新版本的项目已经更名为Rocketmq-Dashboard,Github官网地址为:https://github.com/apache/rocketmq-dashboard,官网下载的是源码包,可以使用maven编译打包,本次属于第一次摸索和了解就直接使用IDEA拉取master分支的代码直接跑起来直接运行。 安装过程 (1)使用IDEA拉取源代码本地编译; (2)修改application.yml中19行端口号,更改为7070,毕竟8080略微特殊; (3)修改application.yml中rocketmq.config...
文章分类:后端一部分 Spring Cloud
RocketMQRocketMQ(一)Server 集群环境搭建
基本介绍 MQ俗称消息队列,是一块非常有用的技术栈和解决方案思想,也曾在工作中多次应用到消息队列的解决思想。在没有使用MQ时也曾使用数据库来仿真异步消息处理的场景应用实现,也曾有幸被选中给周围同事演讲过一次RabbitMQ的技术分析(前后通过几个月的学习,先是ActiveMQ、再是RabbitMQ,也学习许了多家RabbitMQ的视频教程,最终根据自己理解的总结分享而出,有录屏可以分享给大家),至于RocketMQ这一块呢,我是不愿意去实践它的,因为深入了解一款MQ消息队列就可以了,对于其它同类中间件略知一二即可,但是SpringCloud Alibaba系的核心组件之一的RocketMQ,本着对于SpringCloud Alibaba系统的组件广泛学习的原则还是耐着性子去稍微入门了一下,将我入门的程度分享出来吧。 官方网站“https://rocketmq.apache.org”、“ht...
文章分类:后端一部分 Spring Cloud
RocketMQSpringCloud Sleuth 链路追踪介绍
基础介绍 Spring Cloud Sleuth为Spring Cloud的分布式跟踪解决方案提供API,它集成了OpenZipkin Brave(分布式跟踪工具库)可以根据请求收集时间数据和跟踪接口服务的执行流程,关联和传播跟踪上下文。Spring Cloud Sleuth能够跟踪您的请求和消息,以便您可以将通信与相应的日志条目关联起来,还可以将跟踪信息导出到外部系统以可视化延迟。 说点个人理解的意思:当微服务的接口请求较多的时候,各个微服务模块存在于不同的进程下,通过Log日志的形式将从请求入口开始来启动链路,当各个服务属于不同进程时,开启子链路,各个服务将链路数据推送至Zipkin解析的数据容器中,由Zipkin复杂数据的展示查看。链路追踪的特点是跨服务进程,改写Log组件,增加日志输出的链路信息。 部署Zipkin Zipkin是一个分布式跟踪系统,它帮助收集解决服务架构中的延迟问...
文章分类:后端一部分 Spring Cloud
OpenFeign框架原生应用(二)进阶使用
前面一篇《OpenFeign框架原生应用(一)简单示例》文章介绍了使用OpenFeign框架的原生应用,介绍了Maven坐标依赖和使用多种请求方式进行参数传值和接口调用的示例演示,始终觉得只是入门程度,只有使用到了文件上传和文件下载才能算是真正略有水平的进阶,所以本次的实现为包含文件上传和文件下载的接口调用实现。 1.定义服务端接口 import...; /** *简单Api测试 *@authorchendd */ @RestController @RequestMapping(value="/api/advance",consumes=MediaType.ALL_VALUE,produces=MediaType.APPLICATION_JSON_VALUE) publicclassAdvanceApiController{ @GetMapping(value="/download",...
文章分类:后端一部分 Spring Cloud
SpringCloud OpenFeignOpenFeign框架原生应用(一)简单示例
通常对于OpenFeign技术的使用都是通过`spring-cloud-starter-openfeign`的方式引用的,需要依赖spring-cloud相关的组件,我个人也是在学习Spring Cloud Alibaba相关技术体系时,总结过两篇关于OpenFeign的应用示例。如果想丝滑的使用OpenFeign而又不想在项目中集成SpringCloud相关技术体系时(企业工作中总会有一些不可与之制约的因素),可以尝试使用OpenFeign的原生应用,仍然是非常丝滑的去使用。本文将使用OpenFeign的原生应用实现接口的调用示例。 1.实现过程 1.1 Maven坐标依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <v...
文章分类:后端一部分 Spring Cloud
SpringCloud OpenFeignSpringCloud OpenFeign(二)进阶应用
前一篇文章介绍了Open Feign的使用示例,并且包含有非常广泛的知识点,对于实际项目上的应用来讲还是不够的,本篇文章将介绍一下进阶的知识点,来使得Open Feign变得更好用。 配置介绍 #feign接口配置 feign: client: config: default: #loggerLevel:BASIC #建立连接所用的时间,适用于网络状况正常的情况下,两端连接所需要的时间 connectTimeout:15000 #指建立连接后从服务端读取到可用资源所用的时间 readTimeout:15000 #按注册的服务配置 chendd-nacos-client: loggerLevel:BASIC compression: request: enabled:true min-request-size:2048 mime-types:text/xml,application/xml,...
文章分类:后端一部分 Spring Cloud
SpringCloud OpenFeign运营时间: 天
用户数量: 人
文章数量: 篇
评论数量: 条
点赞个数: 个
最后更新: