![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
分布式框架
文章平均质量分 73
spring cloud && alibaba和各种分布式相关框架
巴中第一皇子
这个作者很懒,什么都没留下…
展开
-
spring cloud、alibaba
spring cloud && alibaba笔记https://blog.csdn.net/qq_36903261/category_10087946.html?spm=1001.2014.3001.5482转载 2022-03-27 21:14:11 · 76 阅读 · 0 评论 -
spring cloud eureka 的服务治理机制
一、基础架构构建Eureka服务治理有三个核心角色:服务注册中心、服务提供者和服务消费者。服务注册中心(EurekaServer):Eureka提供的服务端,提供服务注册和发现的功能; 服务提供者:提供服务的应用,遵循Eureka通信机制的应用。它将自己注册到EurekaServer中,以供其他应用发现; 服务消费者:消费者应用从服务注册中心获取服务列表,从而让消费者知道可以从...原创 2020-04-29 16:32:27 · 217 阅读 · 0 评论 -
spring cloud eureka 的服务端与客户端的使用
1.eureka 服务端1.1 引入maven依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId></dependency>...原创 2020-04-28 20:35:07 · 484 阅读 · 0 评论 -
spring cloud eureka 高可用集群配置
1.服务端需要创建2个eureka server应用,1.1 创建eureka-server-ha-peer1-demo1.引入pom<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-net...原创 2020-04-29 10:25:14 · 246 阅读 · 0 评论 -
CAP原理这样理解最简单
前言众所周知,CAP理论是架构师在设计分布式系统过程中,处理数据一致性问题时必须考虑的基石级理论(圣经级的,^V^)。大意是说,在分布式网络分区环境中,数据的一致性、可用性和分区容忍性三者之间,至多只能保证两者,无法三者同时保证。对于CAP理论,个人刚接触时感觉很容易理解,不就是讲的一个在分布式环境下鱼和熊掌不能兼得的问题吗?诚然,如果从直观上泛泛而谈,的确不难,即在多节点的网络环境中,当要求数据强一致性时,一定会牺牲掉可用性,反之亦然。然而,在最近的一次公司内部技术分享会上,一个同事问我,能不能顺便通转载 2020-05-27 09:42:42 · 233 阅读 · 0 评论 -
spring cloud的配置中心config server 和config client 的配置使用
1. spring cloud config server1.1 引入pom<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId></depend...原创 2020-04-28 13:44:59 · 952 阅读 · 0 评论 -
spring cloud 之ribbon组件的学习与使用
1.Ribbon使用前服务提供者与服务消费者之间的调用方式一般就是通过RestTemplate,或者HttpClient等请求方式直接请求接口获取数据1.1 服务提供者1.1.1 application.yml:server: port: 8085spring: application: name: ribbon-service-provider1.1.2 ...原创 2020-04-30 16:45:16 · 524 阅读 · 0 评论 -
Ribbon源码解读和如何覆盖默认规则
Ribbon源码解读可参考博客:https://blog.csdn.net/forezp/article/details/74820899,写的很好,可以结合它这篇博客最后的总结来看,就比较清楚那些接口和类之间的关系了怎么覆盖默认规则比如你可能不想使用它的负载均衡策略,如轮询等,想自己实现一个负载均衡的规则,那么可以覆盖IRule这个接口实现。在RibbonClientConfig...原创 2020-04-30 23:59:26 · 303 阅读 · 0 评论 -
spring cloud feign的学习与使用
说明官方说明:Feign是一个声明性web服务客户端。它使编写web服务客户机更容易。使用Feign创建一个接口并注释它。它具有可插入的注释支持,包括Feign注释和JAX-RS注释。Feign也支持可插拔编码器和解码器。个人理解:Feign是简化了ribbon访问服务时的代码编写,使得我们能够更清楚,更方便的知道服务提供者与服务消费者之间的请求。由于Feign已经集成了Ribbon和...原创 2020-05-05 00:32:14 · 938 阅读 · 0 评论 -
Spring cloud Hystrix
熔断器Hystrix熔断器的原理很简单,如同电力过载保护器。它可以实现快速失败,如果它在一段时间内侦测到许多类似的错误,会强迫其以后的多个调用快速失败,不再访问远程服务器,从而防止应用程序不断地尝试执行可能会失败的操作,使得应用程序继续执行而不用等待修正错误,或者浪费CPU时间去等到长时间的超时产生。熔断器也可以使应用程序能够诊断错误是否已经修正,如果已经修正,应用程序会再次尝试调用操作。熔...原创 2020-05-02 01:08:23 · 127 阅读 · 0 评论 -
spring 事件的使用
1. 介绍事件Event驱动模型实际也被称之或者发布/订阅模型。Spring中,也为我们提供了这样的框架,采用Event/Listener这样的好处自然不用多说,就是解耦,利于扩展,并且利于一对多这种形式,我们下面就来介绍下Spring的Event模式2. 核心主要就3个:ApplicationEvent:事件本身ApplicationEventPublisher:事件发布者...原创 2020-05-07 16:24:24 · 396 阅读 · 0 评论 -
spring cloud bus的使用及使用bus发布自定义事件
1. spring cloud bus介绍Spring cloud bus使用轻量级消息代理将分布式系统的节点连接起来,可以使用此代理,广播状态更改(例如配置更改)或其他管理指令。它可以用作应用程序之间的通信通道。该项目提供了两种消息传输处理:AMQP broker和Kafka 2. 如果你想使用activemq或其他的消息中间件作为消息传输,那么需要实现spring cloud strea...原创 2020-05-07 21:56:05 · 3398 阅读 · 3 评论 -
spring cloud bus 实现config配置的动态更新
1 消息总线bus简单理解就是一个消息中心,众多微服务实例可以连接到总线上,实例可以往消息中心发送或接收信息(通过监听)。比如:实例A发送一条消息到总线上,总线上的实例B可以接收到信息(实例B订阅了实例A),这样的话,消息总线就充当一个中间者的角色,使得实例A和实例B解偶了2 Config遗留的问题当config server中的配置修改后,config client不能及时的进行为当...原创 2020-05-06 23:44:00 · 522 阅读 · 0 评论 -
spring cloud Zuul 过滤器
介绍Zuul的路由功能在上一篇博客中已经写过了,这篇主要是写下zuul 的过滤器怎么用zuul的过滤器功能负责对请求的处理结果进行干预,可实现请求校验等功能,每一个进入Zuul的Http请求都会经过一系列的过滤器处理链得到请求响应并返回给客户端。Zuul实现的过滤器主要包含4个基本特征,过滤类型,执行顺序,执行条件,具体操作。这些其实就是在ZuulFilter接口中定义的4个抽象方法...原创 2020-05-06 16:08:46 · 185 阅读 · 0 评论 -
spring cloud zuul之路由功能和路由服务降级
1.介绍Zuul是spring cloud中的微服务网关。网关: 是一个网络整体系统中的前置门户入口。请求首先通过网关,进行路径的路由,定位到具体的服务节点上。也减少了客户端与服务端的耦合,服务可以独立发展,通过网关层来做映射Zuul主要有两大功能:路由转发和过滤。路由转发能够为全部服务提供一个唯一的入口,起到外部和内部隔离的作用,保障了后台服务的安全性。过滤可以用来鉴权校验,识别每个请求...原创 2020-05-06 00:21:31 · 502 阅读 · 0 评论 -
spring cloud sleuth的使用,与ziplin整合及解决由于springboot版本(1.x和2.x)问题引入的zipkin版本bug
1.介绍由于微服务很复杂,当服务多了之后,就需要有一个东西去记录服务之间的调用,这样可以快速定位问题,且最好能同时记录服务之间的调用时长等信息,方便优化系统。spring cloud sleuth就有这样的作用。我们称这种技术叫做服务链路追踪2. sleuthsleuth记录服务链路主要是依靠日志2020-05-08 14:39:31.429 INFO [sleuth-track2,8f38aeed036ff375,21f05063bd635c35,false] 9236 --- [ni原创 2020-05-08 19:52:03 · 1697 阅读 · 0 评论 -
mycat 实现读写分离
1. mycat简介mycat是一个开源数据库中间件;它可以管理你的所有数据库,并对他们进行读写分离,分库分表等。使用起来的话Mycat就是一个近似于MySQL的数据库服务器,你可以用连接MySQL的方式去连接Mycat(除了端口不同,默认的Mycat端口是8066而非MySQL的3306),大多数情况下,可以用你熟悉的对象映射框架比如MyBatis操作Mycat。它最主要的两个功能就是:数据库的读写分离 分库分表2. 下载mycatmycat的官网:https://github.c原创 2020-06-01 23:38:00 · 13011 阅读 · 1 评论 -
使用docker搭建mysql 的一主双从模式,并使用springboot+mybatis实现动态数据源切换,从而实现简单的读写分离(解决mybatis集成多数据源会遇到的bug)
1. dockerdocker的安装有很多方式,可以参考:https://www.runoob.com/docker/centos-docker-install.html还需要配置镜像加速2. docker下安装mysql打开docker hub,然后搜索mysql ,我们安装5.7 版本的mysqldocker pull mysql:5.73.做一些启动前的准备我这里就直接在一台机器上启动3个mysql容器了,就不分3台机器了。主要是将容器中的mysql 存放数据的文原创 2020-06-01 16:00:56 · 478 阅读 · 0 评论 -
Zookeeper基本知识点及使用java操作zk 且实现循环监听节点
1. 概述Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。所以可以大概理解成:Zookeeper=文件系统+通知机制。官网下载:https://zookeeper.apache.org/2. 特..原创 2020-05-26 00:40:44 · 1591 阅读 · 0 评论 -
zookeeper实现服务器动态上下线,分布式锁
通过前面的Zookeeper学习,我做了几个例子来巩固以下:1.服务器动态上下线需求:app client可以感知到app server的上下线(app client和app server是指我们的应用服务器)大致思路:app server启动后,在zk server上的servers节点下创建一个临时节点。app client启动后,监听servers节点。由于app server创建的是临时节点,那么当app server服务停止后,节点就会被自动删除,此时zk server通知原创 2020-05-26 13:39:13 · 297 阅读 · 0 评论 -
dubbo的使用和基本的功能用法
1. dubbo 有什么用在分布式系统中,服务与服务之间怎么通信是一个问题,目前主流的方式就是通过RPC或HTTP协议进行通信。像Spring Cloud就是通过http协议进行服务之间的通信,而dubbo是一个RPC框架,它实现了RPC调用。这两种方式对比起来的话,HTTP协议稍微简单点,但是由于它需要3次握手和4次挥手,性能较差,而dubbo实现的RPC,底层是用netty这种非阻塞I/O,速度会快很多。性能:http: 由于它是无状态的,每次调用它都需要3次握手和4次挥手,性能较差。 d原创 2020-05-28 16:14:09 · 2821 阅读 · 0 评论 -
Spring Boot 配置文件 bootstrap / application 有什么区别?
问题:当开发springcloud项目时,其中有个bootstrap.yml文件,而springboot中又有application.yml配置,那么这两者有什么区别呢?官方文档中有说明:https://cloud.spring.io/spring-cloud-static/Greenwich.SR1/single/spring-cloud.html#_the_bootstrap_applic...原创 2020-04-28 09:53:16 · 239 阅读 · 0 评论