SpringCloud微服务架构
南归北隐
大道至简,悟在天成。
展开
-
Fegin远程调用示例实战
一、需求描述我们要做的,通过A服务项目信息的多个code调用B服务查询对应code的用户信息。A服务的code rpc 调用 B服务的用户信息二、示例代码ProjectController @ApiOperation(value = "查询项目列表", httpMethod = "GET") @RequestMapping(value = "/list", method = RequestMethod.GET) public Result<BasePagin原创 2022-03-09 16:22:37 · 837 阅读 · 0 评论 -
还不了解?单体应用、SOA面向服务架构、微服务架构的区别,这一篇就够了。
一、单体应用单体应用直接分层结构,通过war包部署,缺点是代码量不断增大war包也会增大,对于开发人员从tomcat启动部署时会耗费很多时间,如果某个类出现内存溢出会导致整个应用崩掉,对于互联网公司一个应用一个小时不能启动很致命,这里可以对单体架构进行优化,拆分成多个war包,这样保证一个服务出现问题不会影响其他服务。二、SOA面向服务架构服务拆分后加入ESB企业服务总线...原创 2020-04-05 00:02:06 · 872 阅读 · 2 评论 -
SpringCloud Eureka 服务治理
服务治理服务治理可以说是微服务架构中最为核心和基础的模块, 它主要用来实现各个微服务实例的自动化注册与发现。 为什么我们在微服务架构中那么需要服务治理模块呢?微服务系统没有它会有什么不好的地方吗?在最初开始构建微服务系统的时候可能服务并不多, 我们可以通过做一些静态配置来完成服务的调用。 比如,有两个服务 A 和 B, 其中服务 A 需要调用服务 B 来完成一个业务操作时, 为了实现...原创 2019-06-10 19:50:01 · 326 阅读 · 0 评论 -
RabbitMQ 实现消息队列安装及配置
一、基本概念在微服务架构的系统中, 我们通常会使用轻量级的消息代理来构建一个共用的消息主题让系统中所有微服务实例都连接上来, 由于该主题中产生的消息会被所有实例监听和消费, 所以我们称它为消息总线。 在总线上的各个实例都可以方便地广播 一些需要让其他连接在该主题上的实例都知道的消息, 例如配置信息的变更或者其他一些管理操作等。二、下载安装安装Erlang点击下载Erlang2...原创 2019-08-22 10:07:53 · 361 阅读 · 0 评论 -
SpringBoot集成RabbitMQ实现消息队列异步处理
一、应用场景用户注册一般需要通过用户信息发邮件 发短信正常流程通过消息队列异步处理二、消息队列集成配置pom.xml 添加依赖包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-st...原创 2019-08-22 15:44:22 · 2125 阅读 · 3 评论 -
SpringCloud Stream 消息驱动简化中间件配置消息分组消息分区详解
一、基本概念SpringCloud Stream 消息驱动主要是简化了RabbitMQ、和Kafka的配置,把这俩种中间件进行了封装为同一种的API更换起来方便,并且只需要关注业务逻辑的实现,通过配置分组的机制可以实现启动多个服务实例轮询进行调用,还可以配置分区保证特殊的实例比如监控实例在分组后都能够被同一个实例进行消费,避免了轮询机制的不确定性。二、实现原理生产者output,通...原创 2019-09-04 15:05:17 · 580 阅读 · 0 评论 -
Redis保存对象的俩种方法详解
一、把对象转成Json //第一种 Jedis redis=RedisPool.getJedis(); SysUser user=new SysUser(); user.setName("ygc"); user.setCode("123"); String userInfo = JSON.toJSONString(user,S...原创 2019-09-03 20:00:24 · 656 阅读 · 0 评论 -
SpringCloud Sleuth 集成ZipKin实现链路追踪
一、基本概念随着业务的发展, 系统规模也会变得越来越大, 各微服务间的调用关系也变得越来越错综复杂。 通常 一个由客户端发起的请求在后端系统中会经过多个不同的微服务调用来协同产生最后的请求结果, 在复杂的微服务架构系统中, 几乎每一个前端请求都会形成一条复杂的分布式服务调用链路, 在每条链路中任何一个依赖服务出现延迟过高或错误的时候都有可能引起请求最后的失败。这时候,对于每个请求, 全链路调用...原创 2019-09-10 15:21:10 · 565 阅读 · 0 评论 -
Windows下安装Docker教程
一、下载安装下载:DockerToolbox-18.03.0-ce.exehttp://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/安装直接下一步,选择安装的位置,目录不要中文命名。最后一步,需要打钩√输入命令:docker -version 测试是否安装成功。二、配置更改创建一个新的...原创 2019-09-19 18:15:52 · 739 阅读 · 0 评论 -
SpringCloud Ribbon 负载均衡器 轮询访问 Hello world 方法
在此之前请先看SpringBoot架构演进之SpringCloud集成eureka构建高可用项目 ↓https://blog.csdn.net/qq_17025903/article/details/89471494通过上一篇的Eureka的构建,我们已经完成了Eureka的高可用,但是看不出效果,这回我们通过Ribbon轮询访问服务端方法测试两台服务器。打开 springCl...原创 2019-06-11 20:36:54 · 642 阅读 · 0 评论 -
Redis分布式锁实现及原理
实现redis分布式锁及原理单体架构 中 synchronized 只是本地锁,锁的也只是当前jvm下的对象,在分布式场景下,要用分布式锁。1.在高并发场景多个用户访问服务器,在redis那里同时会接收到多个请求,这个时候就需要在访问服务的redis那里加个锁就可以了,多个服务器谁拿到锁,哪个服务就执行,其他服务就进行等待直到获取锁。服务器1要去访问redis,那么他会在red...原创 2019-07-19 17:49:37 · 1379 阅读 · 0 评论 -
SpringBoot架构演进之SpringCloud集成eureka构建高可用项目
Spring Cloud是一系列框架的有序集合。它利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再...原创 2019-04-23 14:46:43 · 1288 阅读 · 0 评论 -
Zuul 关网配置服务限流路由访问请求过滤详解
一、基础概念API 关网它的存在就像是整个微服务架构系统的门面一样,所有的外部客户端访问都需要经过它来进行调度和过滤。它除了要实现请求路由、 负载均衡、 校验过滤等功能之外, 还需要更多能力, 比如与服务治理框架的结合、 请求转发时的熔断机制、 服务的聚合等 一系列高级功能。pom.xml 添加 <!-- zuul关网 --> <...原创 2019-08-12 21:16:32 · 413 阅读 · 0 评论 -
Fegin 配置请求响应压缩以及接口监控日志详解
Fegin 配置请求响应压缩以及接口监控详解客户端消费者application.properties 添加#feign 声明式服务调用 请求响应压缩feign.compression.request.enabled=truefeign.compression.response.enabled=true#设置压缩的数据类型feign.compression.request.mi...原创 2019-08-02 17:59:34 · 558 阅读 · 0 评论 -
Feign 声明式服务调用方法详解
学习这篇请先学习SpringBoot架构演进之SpringCloud集成eureka构建高可用项目https://blog.csdn.net/qq_17025903/article/details/89471494SpringCloud Eureka 服务治理https://blog.csdn.net/qq_17025903/article/details/91394686Sp...原创 2019-08-02 10:34:21 · 319 阅读 · 0 评论 -
Hystrix 集成仪表盘监测指标信息
Hystrix仪表盘概念在断路器原理的介绍中 ,我们多次提到关千请求命令的度量指标的判断。这些度量指标都是HystrixComrand和Hys七豆xObservableComand实例在执行过程中记录的重要信息, 它们除了在Hystrix断路器实现中使用之外,对千系统运维也有非常大的帮助 。这些指标信息会以 “滚动时间窗 ” 与 “桶 ” 结合的方式进行汇总,并在内存中驻留 一段时间...原创 2019-07-30 21:01:12 · 235 阅读 · 0 评论 -
Hystrix 服务容错保护之服务熔断与降级
学习这篇请先学习SpringBoot架构演进之SpringCloud集成eureka构建高可用项目https://blog.csdn.net/qq_17025903/article/details/89471494SpringCloud Eureka 服务治理https://blog.csdn.net/qq_17025903/article/details/91394686Sp...原创 2019-07-29 01:38:21 · 418 阅读 · 0 评论 -
Ribbon负载均衡器 GET POST PUT DELETE 不同类型参数详解
SpringCloud Ribbon 负载均衡器 轮询访问 Hello world 方法地址:https://blog.csdn.net/qq_17025903/article/details/91463289在之前我们通过RestTemplate实现了最简单的服务访问,下面我们将详细介绍RestTemplate针对几种不同请求类型和参数类型的服务调用实现。客户端代码pac...原创 2019-07-23 15:02:03 · 491 阅读 · 0 评论 -
Ribbon负载均衡策略与重试机制配置详解
eg:#更改负载均衡 轮询策略为 随机#eureka-server.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.RandomRule服务器名.ribbon.策略策略名 策略声明 策略描述 实现说明 BestAvailableRule public class BestAvailabl...原创 2019-07-23 10:02:01 · 1309 阅读 · 0 评论 -
分布式配置中心集成码云详解
一、基础概念Spring Cloud Confg 是 Spring Cloud 团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持, 它分为服务端与客户端两个部分。 其中服务端也称为分布式配置中心, 它是一个独立的微服务应用, 用来连接配置仓库并为客户端提供获取配置信息、 加密/解密信息等访问接口二、快速搭建服务端配置pom.xml...原创 2019-08-21 10:42:10 · 493 阅读 · 0 评论