
微服务架构
文章平均质量分 74
残雪飞扬
这个作者很懒,什么都没留下…
展开
-
解决分布式事务Seata
既然要给大家讲什么是 seata,那就得先说一下这个东西的定位,这东西就是现在很火的 Spring Cloud Alibaba 里的一个组件,是专门帮助我们解决分布式事务问题的,也就是说,seata 是一个分布式事务框架。那可能很多小伙伴很蒙圈了,什么是分布式事务?好吧,为了保证大家能继续看下去,我们先说一下什么是分布式事务这个问题。举个最简单的例子,假设现在你负责了一个订单系统,一个库存系统,一个营销系统,然后呢,当你的订单系统收到用户一个请求要创建订单的时候,这个时候你得做三件事情。第一,调用库存系统的原创 2022-06-01 09:43:01 · 693 阅读 · 1 评论 -
微服务架构
(一)什么是微服务,为什么需要用微服务?一、微服务是什么?定义:微服务是一些协同工作的小而自治的服务,这个服务是高凝聚力和松散耦合的。微服务有以下特征:1.一组小的服务(大写没有特别的标准,只要同一个团队的工程师理解服务的标识一致即可)。2.独立的进程3.轻量级的通信(不是soap,是http协议)4.基于业务能力5.独立部署(迭代速度快)6.无集中式管理(无须统一技术栈)二、为什么要用微服务?通常我们把微服务说成是一个技术架构的进化,从第一代的单体架构,到期第二原创 2022-02-11 11:11:18 · 17772 阅读 · 0 评论 -
Dubbo是什么
Dubbo是什么Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。其核心部分包括:远程通讯:提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型、序列化、"请求-响应"模式的信息交换方案 集群容错:提供基于借口方法的透明远程过程调用,包括多协议支持、软负载均衡、失败容错、地址路由、动态配置等集群支持 自动发现:基于注册中心目录服务,使服务消费方能动态地查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器Dubbo能做什原创 2022-01-25 17:49:06 · 176 阅读 · 0 评论 -
Centos7安装Nacos
前言:此处我选取的是nacos2.0.3,安装目录为/usr/local/src1.查看官网推荐的稳定版本https://nacos.io/zh-cn/docs/quick-start.html2.下载对应版本压缩包并上传至服务器自行前往官网查看跳转至github下载需要的版本3.解压tar -zxvf nacos-server-2.0.3.tar.gz4.启动(单机版)cd nacos/binsh startup.sh -m standalone..原创 2022-01-21 14:13:01 · 2568 阅读 · 0 评论 -
CentOS7安装zipkin
我们开始整合Zipkin。在较低版本的Spring Cloud中,我们可以自己搭建Zipkin Server,现在我们只能使用官方搭建好的Zipkin Server,地址为:https://github.com/openzipkin/zipkin在cmd窗口下运行下面这条命令(windows下没有curl环境的话,可以在git bash中运行这条命令),下载zipkin.jar:curl -sSL https://zipkin.io/quickstart.sh | bash -s下载速度太慢或原创 2022-01-13 16:06:01 · 1395 阅读 · 0 评论 -
Hystrix 中线程池隔离与信号量隔离区别
先给个总结对比:Hystrix的隔离策略有两种:分别是线程隔离和信号量隔离。THREAD(线程隔离):使用该方式,HystrixCommand将会在单独的线程上执行,并发请求受线程池中线程数量的限制。SEMAPHORE(信号量隔离):使用该方式,HystrixCommand将会在调用线程上执行,开销相对较小,并发请求受信号量的个数的限制。配置:hystrix.command.default.execution.isolation.strategy 隔离策略,默认是Thread, 可选T原创 2022-01-10 14:56:27 · 484 阅读 · 0 评论 -
hystrix请求合并原理
Hystrix要解决的问题是什么?在复杂的分布式系统架构中,每个服务都有很多的依赖服务,而每个依赖服务都可能会故障, 如果服务没有和自己的依赖服务进行隔离,那么可能某一个依赖服务的故障就会拖垮当前这个服务举例来说:某个服务有 30 个依赖服务,每个依赖服务的可用性非常高,已经达到了 99.99% 的高可用性那么该服务的可用性就是 99.99% - (100% - 99.99% * 30 = 0.3%)= 99.69%, 意味着 3% 的请求可能会失败,因为 3% 的时间内系统可能出现了故障不可.原创 2022-01-10 11:17:10 · 343 阅读 · 0 评论 -
Origin parameter: http://localhost:8081/actuator/hystrix.stream is not in the allowed list of proxy
使用Hystrix DashBoard监控报错报错1Origin parameter: http://localhost:8081/actuator/hystrix.stream is not in the allowed list of proxy host names.If it should be allowed add it to hystrix.dashboard.proxyStreamAllowList.是因为没有配置代理地址,在application中添加下面配置原创 2021-12-31 15:48:25 · 1479 阅读 · 0 评论 -
引入了Hystrix依赖却找不到@HystrixCommand注解
问题引入今天在按照视频学习Spring Cloud Hystrix时,发现报红说找不到@HystrixCommand注解,pom文件中已经引入了hystrix依赖。<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-netflix-hystrix</artifactId></dependency>原创 2021-12-30 08:40:11 · 1400 阅读 · 1 评论 -
Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException:
Exceptionencounteredduringcontextinitialization-cancellingrefreshattempt:org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'scopedTarget.configController':Injectionofautowireddependenciesfailed;nestedexc...原创 2021-12-29 16:33:37 · 878 阅读 · 0 评论 -
Spring Cloud Config + Spring Cloud Bus + kafka实现配置中心配置动态更新
一、架构图当在 Git 仓库中某个应用配置文件中的参数更新后,只需要通过 POST方法访问 config Server 的 /actuator/bus-refresh 接口,就可以让所以的微服务节点更新配置。 在我们的 DEMO 中有一个 Config Server 和 两个 Config Client。二、下载和部署 kafka到 kafka 官网下载 kafka 2.12-2 解压到 E:\软件3\JAVA\消息中间件。cd E:\软件3\JAVA\消息中间件\kafka_2..原创 2021-12-29 14:36:27 · 1676 阅读 · 0 评论 -
Eureka自我保护机制
自我保护机制是什么访问Eureka主页时,如果看到这样一段大红色的句子:默认情况下,如果eureka server在一定时间内没有接收到某个微服务实例的心跳,eureka server将会注销该实例(默认90秒),但是当网络分区发生故障时(延时,卡顿,拥挤)时,微服务与eureka server之间就无法正常通信,以上行为可能变得非常危险了,因为微服务本是其实是健康的,此时本不应该注销这个服务,eureka通过自我保护模式,来解决这个问题,当eureka server节点在短时间内丢失过原创 2021-09-14 16:14:04 · 198 阅读 · 0 评论 -
Eureka介绍
1. Eureka是什么Eureka是一个基于REST的服务,主要用于AWS云中的定位服务,以实现中间层服务器的负载平衡和故障转移在 Spring Cloud微服务架构中通常用作注册中心我们称这个服务为 Eureka Server,还有一个与之交互的客户端称之为 Eureka Client2. Eureka高级架构如上图所示,其中Application Server 表示服务提供方Application Client 表示服务消费方Make Remote Ca...原创 2021-09-14 11:24:38 · 2505 阅读 · 0 评论 -
Spring Cloud OpenFeign 工作原理解析
什么是FeignFeign是受到Retrofit,JAXRS-2.0和WebSocket的影响,它是一个jav的到http客户端绑定的开源项目。 Feign的主要目标是将Java Http 客户端变得简单。Feign的源码地址:GitHub - OpenFeign/feign: Feign makes writing java http clients easier写一个Feign在我之前的博文有写到如何用Feign去消费服务,文章地址:史上最简单的SpringCloud教程 | 第三篇: 服务原创 2021-09-09 18:02:59 · 340 阅读 · 0 评论 -
客户端负载均衡Ribbon:Loadbalance的源码
Load Balance负载均衡是用于解决一台机器(一个进程)无法解决所有请求而产生的一种算法。像nginx可以使用负载均衡分配流量,ribbon为客户端提供负载均衡,dubbo服务调用里的负载均衡等等,很多地方都使用到了负载均衡。使用负载均衡带来的好处很明显:当集群里的1台或者多台服务器down的时候,剩余的没有down的服务器可以保证服务的继续使用 使用了更多的机器保证了机器的良性使用,不会由于某一高峰时刻导致系统cpu急剧上升负载均衡有好几种实现策略,常见的有:随机 (Random原创 2021-09-09 14:33:20 · 436 阅读 · 0 评论 -
spring boot中的约定优于配置
Spring Boot并不是一个全新的框架,而是将已有的Spring组件整合起来。Spring Boot可以说是遵循约定优于配置这个理念产生的。它的特点是简单、快速和便捷。既然遵循约定优于配置,则有一些约定是需要去了解的。虽然说Spring Boot基本上舍弃了XML的配置,但是也不是说是零配置,因为约定也是需要配置来支持的,只是说减少了大量配置。starter依赖Spring Boot提供了一系列的Starter依赖来简化jar包依赖的配置。比如说spring-boot-starter原创 2021-09-08 14:38:29 · 941 阅读 · 0 评论 -
Spring Cloud是什么
一、官网说明地址:https://spring.io/SpringCloud,基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。SpringCloud利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路.原创 2021-09-07 10:33:51 · 101 阅读 · 0 评论 -
SOA和微服务的区别
其实服务化架构已经可以解决大部分企业的需求了,那么我们为什么要研究微服务呢?先说说它们的区别;首要目标不同:SOA首先要解决的是异构应用的服务化;微服务强调的是服务拆分尽可能小,最好是独立的原子服务。 服务依赖:传统的SOA服务,由于需要重用已有的资产,存在大量的服务间依赖;微服务的设计理念是服务自治、功能单一独立,避免依赖其他服务产生耦合,耦合会带来更高的复杂度。 服务规模:传统SOA服务粒度比较大,多数会采用奖多个服务合并打成war包的方案,因此服务实例数比较有限;微服务强调尽可能拆分,同时很多原创 2021-09-07 10:11:47 · 320 阅读 · 0 评论