封面图片

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

RocketMQ

RocketMQ(一)Server 集群环境搭建

基本介绍 MQ俗称消息队列,是一块非常有用的技术栈和解决方案思想,也曾在工作中多次应用到消息队列的解决思想。在没有使用MQ时也曾使用数据库来仿真异步消息处理的场景应用实现,也曾有幸被选中给周围同事演讲过一次RabbitMQ的技术分析(前后通过几个月的学习,先是ActiveMQ、再是RabbitMQ,也学习许了多家RabbitMQ的视频教程,最终根据自己理解的总结分享而出,有录屏可以分享给大家),至于RocketMQ这一块呢,我是不愿意去实践它的,因为深入了解一款MQ消息队列就可以了,对于其它同类中间件略知一二即可,但是SpringCloud Alibaba系的核心组件之一的RocketMQ,本着对于SpringCloud Alibaba系统的组件广泛学习的原则还是耐着性子去稍微入门了一下,将我入门的程度分享出来吧。 官方网站“https://rocketmq.apache.org”、“ht...

文章分类:后端一部分 Spring Cloud

RocketMQ

SpringCloud Sleuth 链路追踪介绍

基础介绍 Spring Cloud Sleuth为Spring Cloud的分布式跟踪解决方案提供API,它集成了OpenZipkin Brave(分布式跟踪工具库)可以根据请求收集时间数据和跟踪接口服务的执行流程,关联和传播跟踪上下文。Spring Cloud Sleuth能够跟踪您的请求和消息,以便您可以将通信与相应的日志条目关联起来,还可以将跟踪信息导出到外部系统以可视化延迟。 说点个人理解的意思:当微服务的接口请求较多的时候,各个微服务模块存在于不同的进程下,通过Log日志的形式将从请求入口开始来启动链路,当各个服务属于不同进程时,开启子链路,各个服务将链路数据推送至Zipkin解析的数据容器中,由Zipkin复杂数据的展示查看。链路追踪的特点是跨服务进程,改写Log组件,增加日志输出的链路信息。 部署Zipkin Zipkin是一个分布式跟踪系统,它帮助收集解决服务架构中的延迟问...

文章分类:后端一部分 Spring Cloud

SpringCloud 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

SpringCloud OpenFeign(一)基本介绍与简单示例

基本介绍 Feign是一个声明式web服务客户端。它使编写web服务客户端更容易。要使用Feign,创建一个接口并对其进行注释。它具有可插入的注释支持,包括假注释和JAX-RS注释。fake还支持可插拔的编码器和解码器。Spring Cloud增加了对Spring MVC注释的支持,并支持在Spring Web中默认使用相同的HttpMessageConverters。Spring Cloud集成了Eureka, Spring Cloud CircuitBreaker,以及Spring Cloud LoadBalancer,在使用Feign时提供一个负载平衡的http客户端。 在此前通过Http接口的请求交互可以是使用JDK内置的HttpURLConnection、Apache开源项目HttpClient、OkHttp、Spring提供的RestTemplate,以及Ribbon、Feig...

文章分类:后端一部分 Spring Cloud

SpringCloud OpenFeign

SpringCloud Gateway(四)定制请求参数日志输出

背景介绍 其实在学习SpringCloud Gateway的过程中一直有在琢磨写个什么示例来证明一下这玩意我是懂一点的呢,也是反复琢磨和反复实践最终折腾出来的结果是编写过滤器获取一个http请求的所有参数,包含基本参数、Request Header、Response Header、Response等信息,说的高端一点就是拿到浏览器开发者工具F12的信息,所以我们先来看看一个复杂的F12请求包含了哪些类型的参数信息,如下图所示: 通过上图可以看到在一个http请求中有意义获取到的信息部分有:General、Request Headers、Response Headers、Qhery String Parameters、Response,有的http请求中参数使用Request Body传递的,这部分数据在Payload部分,所以在编写示例的时候专门定义了一个Http请求参数范围的枚举来按照范...

文章分类:后端一部分 Spring Cloud

Gateway
本站信息

 运营时间: 天

 用户数量: 人

 文章数量: 篇

 评论数量: 条

 点赞个数: 个

 最后更新:

标签云