![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式
文章平均质量分 92
当时明月plus
这个作者很懒,什么都没留下…
展开
-
SpringCloudAlibaba(七)Rocketmq--消息驱动(待完善)
7.1 MQ简介 7.1.1 什么是MQ7.1.2 MQ的应用场景 7.1.2.1 异步解耦 最常见的一个场景是用户注册后,需要发送注册邮件和短信通知,以告知用户注册成功。传统的做法如下:此架构下注册、邮件、短信三个任务全部完成后,才返回注册结果到客户端,用户才能使用账号登录。但是对于用户来说,注册功能实际只需要注册系统存储用户的账户信息后,该用户便可以登录,而后续的注册短信和邮件不是即时需要关注的步骤。 所以实际当数据写入注册系统后,注册系统就可以把其他的操..原创 2021-11-16 07:51:38 · 163 阅读 · 0 评论 -
SpringCloudAlibaba(六)Sleuth--链路追踪(待完善)
123原创 2021-11-16 07:50:51 · 450 阅读 · 0 评论 -
SpringCloudAlibaba(五) Gateway--服务网关
123原创 2021-10-28 14:35:54 · 271 阅读 · 0 评论 -
SpringCloudAlibaba(四)Sentinel--服务容错
123原创 2021-10-28 13:25:33 · 305 阅读 · 0 评论 -
SpringCloudAlibaba(三)Nacos Discovery--服务治理
3.1 服务治理介绍 先来思考一个问题 通过上一章的操作,我们已经可以实现微服务之间的调用。但是我们把服务提供者的网络地址 (ip,端口)等硬编码到了代码中,这种做法存在许多问题: 一旦服务提供者地址变化,就需要手工修改代码 一旦是多个服务提供者,无法实现负载均衡功能 一旦服务变得越来越多,人工维护调用关系困难 那么应该怎么解决呢, 这时候就需要通过注册中心动态的实现服务治理。 什么是服务治理 服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务的自动原创 2021-09-07 23:50:00 · 370 阅读 · 2 评论 -
SpringCloudAlibaba(二)微服务环境搭建
123原创 2021-09-07 23:00:18 · 1522 阅读 · 4 评论 -
SpringCloudAlibaba(一)SpringCloudAlibaba简介
第一章 微服务介绍1.1 系统架构演变随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。从互联网早起到现在,系统架构大体经历了下面几个过程:单体应用架构--->垂直应用架构--->分布式架构--->SOA架构--->微服务架构,当然还有悄然兴起的Service Mesh(服务网格化)。接下来我们就来了解一下每种系统架构是什么样子的, 以及各有什么优缺点。1.1.1 单体应用架构互联网早期,一般的网站...原创 2021-09-06 18:36:28 · 1584 阅读 · 0 评论 -
RabbitMQ(二)
7. RabbitMQ 高级7.1. 过期时间TTL过期时间TTL表示可以对消息设置预期的时间,在这个时间内都可以被消费者接收获取;过了之后消息将自动被删除。RabbitMQ可以对消息和队列设置TTL。目前有两种方法可以设置。第一种方法是通过队列属性设置,队列中所有消息都有相同的过期时间。 第二种方法是对消息进行单独设置,每条消息TTL可以不同。如果上述两种方法同时使用,则消息的过期时间以两者之间TTL较小的那个数值为准。消息在队列的生存时间一旦超过设置的TTL值,就称为dead messa原创 2021-08-31 21:29:46 · 273 阅读 · 0 评论 -
RabbitMQ(一)
1. 消息中间件概述1.1. 什么是消息中间件MQ全称为Message Queue,消息队列是应用程序和应用程序之间的通信方法。为什么使用MQ在项目中,可将一些无需即时返回且耗时的操作提取出来,进行异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量。开发中消息队列通常有如下应用场景:1、任务异步处理将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理。提高了应用程序的响应时间。2、应用程序解耦合MQ相当于一个中原创 2021-08-30 16:28:34 · 138 阅读 · 1 评论 -
SpringCloud(七)Zuul + Swagger 搭建分布式API接口文档管理平台
目录1.传统的API文档编写的缺点2.Swagger的优点3.Swagger入门4.Zuul + Swagger 实现分布式API接口管理平台4.1搭建order项目4.2搭建member项目4.3.搭建zuul项目4.4.启动1.传统的API文档编写的缺点1.对API文档进行更新的时候,需要通知前端开发人员,导致文档更新交流不及时;2.AP...原创 2019-12-15 13:09:34 · 776 阅读 · 0 评论 -
SpringCloud(六)搭建Zuul服务网关
目录1.Api网关服务1.1.网关作用1.2.网关与过滤器区别1.3.Nginx与Zuul的区别1.4.网关分类1.5.网关设计1.6.常见的网关框架2.搭建zuul网关2.1.搭建zuul网关项目2.2.搭建eureka项目,order项目,member项目。2.3.演示效果2.4.zuul网关的负载均衡3.搭建动态zuul网关路由转发(Spr...原创 2019-12-10 10:41:47 · 651 阅读 · 1 评论 -
SpringCloud(五)SpringCloud Config 分布式配置中心
目录1.为什么使用分布式配置中心2.什么是分布式配置中心3.常用的分布式配置中心框架有哪些4.分布式配置中心一般需要哪些组件5.config原理:6.搭建 config 分布式配置中心6.1.搭建git环境6.2.搭建ConfigServer服务器6.3.搭建ConfigClient服务器7.动态刷新配置文件信息7.1.重启服务器方式7.2.动态刷新...原创 2019-11-28 11:59:20 · 267 阅读 · 0 评论 -
SpringCloud(四)Hystrix服务保护框架
目录1.服务保护机制SpringCloud Hystrix1.1微服务高可用技术1.2.概念1)服务雪崩效应2)服务降级3)服务熔断4)服务隔离5)服务限流1.3.Hystrix简单介绍2.演示:2.1.演示:服务雪崩效应2.2.Hystrix环境搭建2.2.1.环境搭建2.2.2.演示:服务隔离2.2.3.Hystrix 的超时时间...原创 2019-11-26 19:42:41 · 199 阅读 · 0 评论 -
SpringCloud(三)Ribbon负载均衡原理与Feign客户端的使用
目录1.客户端本地负载均衡原理2.手写代码实现类似于Ribbon本地负载均衡效果3.Ribbon本地负载均衡客户端与Nginx服务器端负载均衡的区别4.声明式Feign客户端调用方式5.基于Feign客户端进行项目重构6..Feign客户端工具超时时间设置1.客户端本地负载均衡原理Ribbon本地负载均衡,默认使用的是轮循的策略,根据总请求数对...原创 2019-11-19 08:42:14 · 516 阅读 · 0 评论 -
SpringCloud(二)服务注册与发现
目录1.什么是服务治理2.服务注册与发现3.SpringCloud集成Eureka注册中心4.SpringCloud集成Zookeeper注册中心5.SpringCloud集成Consul注册中心6.总结1.什么是服务治理在传统rpc远程调用中,服务与服务依赖关系,管理比较复杂,所以需要使用服务治理,管理服务与服务之间依赖关系,可以实现服务调用、负载均衡、容错...原创 2019-11-05 08:41:35 · 358 阅读 · 0 评论 -
SpringCloud(一)互联网网站架构演变过程
1.网站架构演变过程传统架构 ==> 分布式架构 ==> SOA架构 ==> 微服务架构1.1.传统架构传统的SSH架构,分为三层架构 web控制层、业务逻辑层、数据库访问层。传统架构也就是单点应用,就是大家在刚开始初学JavaEE技术的时候SSH架构或者SSM架构,业务没有进行拆分,都写同一个项目工程里面,一般是适合于个人或者是小团队开发。这种架...原创 2019-10-31 21:32:23 · 273 阅读 · 0 评论 -
IDEA创建多个模块Maven SpringBoot项目
在学习springboot整合dubbo时,需要创建一些maven工程,结构目录如下:springboot-dubbo-parent pom类型,定义公共的依赖信息——springboot-dubbo-public-api-service pom类型,存放公共接口————springboot-dubbo-api-member-service jar类型,会员服务提供接口...原创 2019-10-30 10:51:23 · 5174 阅读 · 1 评论 -
dubbo不同版本的源码下载,以及dubbo-admin等包的下载问题
1.dubbo的官网:http://dubbo.io/点击首页右上方的En可以切换中英文,我们切换成中文。点击首页下面的快速开始,则可以查看dubbo的使用文档。2.dubbo版本以及下载地址dubbo源码提供了两个下载地址,一个是dubbo官网,一个是GitHub上,我们推荐从GitHub上下载。原因:点击首页右上方的下载,则可以进入dubbo官...原创 2019-10-25 11:14:09 · 6178 阅读 · 0 评论 -
Dubbo分布式服务治理框架(三)Springboot整合dubbo
Springboot整合dubbo声明:springboot的版本不同,比如1.5和2.0.x的版本,命名,依赖jar包,和书写方式是都发生了很大变化,此处我是用的是2.0.1版本作整合的。springboot整合dubbo项目结构:springboot-dubbo-parent pom类型,定义公共的依赖信息——springboot-dubbo-publ...原创 2019-10-30 14:34:09 · 181 阅读 · 0 评论 -
Dubbo分布式服务治理框架(二)负载均衡原理分析
1.Dubbo原理分析图:2.Dubbo服务信息存放方式Dubbo服务信息以持久+临时混合进行存储在注册中心zookeeper中。服务基本信息以持久进行存储,服务接口信息一般不会发生改变,采用持久节点进行存储。服务接口地址以临时节点进行存储,因为地址是动态,所以采用临时存放。1.准备工作以上一篇博客的Maven项目代码继续演示:项目结构,分为三个项...原创 2019-10-29 10:44:13 · 304 阅读 · 0 评论 -
Dubbo分布式服务治理框架(一)服务注册与发现
目录1.什么是dubbo?2.通过Maven构建dubbo(非必须)3.Dubbo框架说明4.Dubbo快速入门5.监控6.管理1.什么是dubbo?1.1.简介DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支...原创 2019-10-23 22:56:38 · 438 阅读 · 0 评论 -
Springboot学习教程(十二)Actuator监控应用
Actuator监控应用Actuator是spring boot的一个附加功能,可帮助你在应用程序生产环境时监视和管理应用程序。可以使用HTTP的各种请求来监管,审计,收集应用的运行情况.特别对于微服务管理十分有意义.缺点:没有可视化界面,返回json格式1.创建一个springboot项目2.添加actuator依赖<dependency&...原创 2019-10-18 15:37:10 · 132 阅读 · 0 评论 -
Springboot学习教程(十一)springboot项目的打包和运行
打包发布打成的包最终是jar包还是war包,取决于创建项目时是war类型还是jar类,一般来说springboot项目都会创建成jar类型,但如果项目要集成jsp页面,那么需要打成war包,因为springboot默认是不支持jsp的。打包命令:mvn package ,如果需要清理之前的jar包 mvn clean package运行命令:java -jar xxxxxx.jar...原创 2019-10-18 10:55:01 · 419 阅读 · 0 评论 -
Springboot学习教程(十)springboot性能优化
目录1.扫包优化2.JVM参数调优3.将Tomcat服务器换成Undertow服务器springboot的性能优化,介绍扫包优化,JVM参数调优,以及使用Undertow服务器三种方式。1.扫包优化扫包优化是启动项目时优化,而不是运行时优化默认情况下,我们会使用 @SpringBootApplication 注解来自动获取应用的配置信息,但这样也会给应用带来...原创 2019-10-17 23:00:00 · 667 阅读 · 0 评论 -
Springboot学习教程(九)springboot整合多数据源以及事物问题
目录1.springboot整合多数据源2.多数据源事物管理3.多数据源分布式事物问题及解决方案jta +atomikos1.springboot整合多数据源此处的多数据源,是指同一种数据库类型,多个数据库在一个项目中,如何知道某个业务使用的是哪个数据源呢?划分多数据源的方式有两种:一种是分包,另一种是注解。我们只演示分包的方式,没有演示注解方式。1...原创 2019-10-17 11:59:30 · 735 阅读 · 0 评论 -
springboot2.0配置多环境数据源时application.yml文件问题探讨
我在使用springboot2.0配置多环境数据源时,出现了一些问题:首先,我在application.yml文件中配置多数据源:spring: datasource: test01: url: jdbc:mysql://localhost:3306/test01?serverTimezone=UTC username: root pas...原创 2019-10-17 11:57:34 · 3281 阅读 · 0 评论 -
Springboot学习教程(八)springboot整合数据层及事物管理
目录springboot整合数据层1.springboot整合JdbcTemplate2.springboot整合Mybatis3.springboot整合Springjpa4.事物管理springboot整合数据层我们介绍springboot整合JdbcTemplate,mybatis,springjpa三种方式。演示springboot项目:...原创 2019-10-16 23:44:41 · 359 阅读 · 0 评论 -
Springboot学习教程(七) 配置文件介绍
目录1.多环境配置2.修改端口号和项目访问路径3.yml格式配置文件(取代properties格式)1.多环境配置日常开发中,会有开发环境,测试环境,生产环境等,我们可以有多个配置文件,有各自的配置环境信息。application.properties是主配置文件,项目默认加载的配置文件 application-dev.properties,applicatio...原创 2019-10-16 18:14:43 · 228 阅读 · 0 评论 -
Springboot学习教程(六) 几个注解介绍
目录1.异步线程:@Async,@EnableAsync注解2.Java类读取配置文件中的变量:@Value注解3.定时任务:@Scheduled注解1.异步线程:@Async,@EnableAsync注解@Async,@EnableAsync注解都是spring提供的注解。1.演示的springboot项目2.pom文件:因为这两个注解都是spr...原创 2019-10-16 15:16:16 · 234 阅读 · 0 评论 -
Springboot学习教程(五) springboot集成lombok
目录1.lombok的引入2.@Slf4j注解:简化日志代码3.@Getter, @Setter, @Data 注解:简化实体类代码4.lombok的其他注解springboot集成lomboklombok是spring提供的一个组件,并不是springboot特有的,里面提供了很多注解,可以简化我们的代码.我们今天主要演示lombok简化日志代码的@Slf4j注...原创 2019-10-16 11:15:59 · 688 阅读 · 0 评论 -
Springboot学习教程(四)使用AOP处理全局捕获异常和添加日志
目录1.Spring的AOP特性2.使用AOP统一处理全局捕获异常3.使用AOP统一处理Web请求日志1.Spring的AOP特性Spring有两大特性,IOC(控制反转)和AOP(面向切面编程),我们可以利用aop特性处理全局捕获异常,添加日志,添加事物等。2.使用AOP统一处理全局捕获异常如果访问项目时出现异常,那么浏览器则会显示500或者别的...原创 2019-10-16 08:43:25 · 4826 阅读 · 0 评论 -
Springboot学习教程(三) Web开发
目录1.静态资源访问2.渲染Web页面3.使用Freemarker模板引擎渲染web视图4.使用JSP渲染Web视图1.静态资源访问在我们开发Web应用的时候,需要引用大量的js、css、图片等静态资源。那么我们放在项目中的什么位置呢?生成的项目结构中,resources目录下有个static目录,我们可以把静态资源放在下面,直接访问。访问地址是 l...原创 2019-10-15 17:39:45 · 397 阅读 · 0 评论 -
Springboot学习教程(二) IDEA创建springboot项目
目录1.IDEA创建springboot项目2.注解介绍1.IDEA创建springboot项目File ==> New ==> ProjectSpring Initializr ==> next编辑项目信息 ==> next注意:打包类型必须为jar类型,且jdk必须在1.8及以上注意:Artifact不...原创 2019-10-14 23:09:28 · 245 阅读 · 0 评论 -
Springboot学习教程(一) Springboot简介
需知:该springboot学习教程来源于蚂蚁课堂的视频教程,蚂蚁课堂上有免费视频教程可以学习。 此版本的springboot为2.0版本的,springboot2.0版本与之前的版本有较大差别。 springboot2.0的开发环境必须JDK1.8及以上思考:为什么使用springboot传统项目:整合SSH或者SSM,需要考虑配置文件,Jar包冲突,整合起来比较繁琐。...原创 2019-10-14 22:31:13 · 159 阅读 · 0 评论