自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 收藏
  • 关注

原创 RocketMQ基础使用

环境准备1.软件准备:RocketMQ版本:4.5.12.环境要求JDK 1.8.0Linux64位系统(CentOS Linux release 7.9.2009)源码安装需要安装Maven 3.2.x4G+ free 磁盘空间3.安装及启动下载rocketmqwget https://archive.apache.org/dist/rocketmq/4.5.1/rocketmq-all-4.5.1-bin-release.zip4.解压文件unzip rocketmq-al

2021-08-28 17:48:37 361

原创 RocketMQ介绍

RocketMQ的前世今生  RocketMQ在阿里内部叫做Metaq(最早名为Metamorphosis,中文意思“变形记”,是作家卡夫卡的中篇小说代表作,可见是为了致敬Kafka)。  RocketMQ是Metaq 3.0之后开源的版本。  Metaq在阿里巴巴集团内部、蚂蚁金服、菜鸟等各业务中被广泛使用,接入了上万个应用系统中。并平稳支撑了历年的双十一大促(万亿级的消息),在性能、稳定性、可靠性等方面表现出色,在整个阿里技术体系和大中台战略中发挥着举足轻重的作用。  Metaq最早源于Kafk

2021-08-28 12:15:42 301

原创 RabbitMQ工作流程和工作模式详解

RabbitMQ工作流程生产者发送消息的流程生产者连接RabbitMQ,建立TCP连接( Connection),开启信道(Channel)生产者声明一个Exchange(交换器),并设置相关属性,比如交换器类型、是否持久化等生产者声明一个队列井设置相关属性,比如是否排他、是否持久化、是否自动删除等生产者通过bindingKey (绑定Key)将交换器和队列绑定( binding )起来生产者发送消息至RabbitMQ Broker,其中包含routingKey (路由键)、交换器等信息相应

2021-08-22 19:30:12 740

原创 RabbitMQ安装和常用命令

安装和配置RabbitMQ安装环境:虚拟机软件:VMWare 15.0.4操作系统:CentOS Linux release 7.9.2009Erlang:erlang-23.0.2-1.el7.x86_64RabbitMQ:rabbitmq-server-3.8.4-1.el7.noarchRabbitMQ的安装需要首先安装Erlang,因为它是基于Erlang的VM运行的。RabbitMQ需要的依赖:socat和logrotate,logrotate操作系统中已经存在了,只需要安装so

2021-08-22 09:16:24 218

原创 Redis缓存过期和淘汰策略

Redis性能高:5.x版本官方数据读:110000次/s写:81000次/s长期使用,key会不断增加,Redis作为缓存使用,物理内存也会满内存与硬盘交换(swap) 虚拟内存 ,频繁IO 性能急剧下降maxmemory不设置的场景Redis的key是固定的,不会增加Redis作为DB使用,保证数据的完整性,不能淘汰 , 可以做集群,横向扩展缓存淘汰策略:禁止驱逐 (默认)设置的场景Redis是作为缓存使用,不断增加Keymaxmemory : 默认为0 不限制问题:达到物理

2021-08-15 07:32:28 287

原创 Redis底层数据结构

Redis作为Key-Value存储系统,数据结构如下:Redis没有表的概念,Redis实例所对应的db以编号区分,db本身就是key的命名空间。比如:user:1000作为key值,表示在user这个命名空间下id为1000的元素,类似于user表的id=1000的行。RedisDB结构Redis中存在“数据库”的概念,该结构由redis.h中的redisDb定义。当redis 服务器初始化时,会预先分配 16 个数据库所有数据库保存到结构 redisServer 的一个成员 redisS

2021-08-14 16:48:00 308

转载 Redis持久化介绍和使用

为什么要持久化Redis是内存数据库,宕机后数据会消失。Redis重启后快速恢复数据,要提供持久化机制Redis持久化是为了快速的恢复数据而不是为了存储数据Redis有两种持久化方式:RDB和AOF注意:Redis持久化不保证数据的完整性。当Redis用作DB时,DB数据要完整,所以一定要有一个完整的数据源(文件、mysql)在系统启动时,从这个完整的数据源中将数据load到Redis中,数据量较小,不易改变,比如:字典库(xml、Table)。通过info命令可以查看关于持久化的信息# P

2021-08-14 09:02:51 129

原创 Java整合spring和springboot访问redis

Java程序访问Redis采用jedis API进行访问即可关闭RedisServer端的防火墙systemctl stop firewalld(默认)systemctl disable firewalld.service(设置开启不启动)新建maven项目后导入Jedis包pom.xml<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactI

2021-08-09 22:11:36 104

原创 Redis安装和简单使用

Redis简介Redis (Remote Dictionary Server)远程字典服务器,是用C语言开发的一个开源的高性能键值对( key-value )内存数据库。它提供了五种数据类型来存储值:字符串类型、散列类型、列表类型、集合类型、有序集合类型它是一种NoSQL 数据存储。Redis应用场景缓存使用,减轻DB压力DB使用,用于临时存储数据(字典表,购买记录)解决分布式场景下Session分离问题(登录信息)任务队列(秒杀、抢红包等等) 乐观锁应用排行榜 zset

2021-08-09 22:11:24 118

原创 缓存原理与设计

缓存原理与设计缓存基本思想缓存的使用场景DB缓存,减轻DB服务器压力一般情况下数据存在数据库中,应用程序直接操作数据库。当访问量上万,数据库压力增大,可以采取的方案有:读写分离,分库分表当访问量达到10万、百万,需要引入缓存。将已经访问过的内容或数据存储起来,当再次访问时先找缓存,缓存命中返回数据。不命中再找数据库,并回填缓存。提高系统响应数据库的数据是存在文件里,也就是硬盘。与内存做交换(swap)在大量瞬间访问时(高并发)MySQL单机会因为频繁IO而造成无法响应。MySQL的

2021-08-08 15:01:50 241

原创 MongoDB安全认证

安全认证概述  MongoDB 默认是没有账号的,可以直接连接,无须身份验证。实际项目中肯定是要权限验证的,否则后果不堪设想。从2016年开始 发生了多起MongoDB黑客赎金事件,大部分MongoDB安全问题 暴露出了安全问题的短板其实是用户,首先用户对于数据库的安全不重视,其次用户在使用过程中可能没有养成定期备份的好习惯,最后是企业可能缺乏有经验和技术的专业人员。所以对MongoDB进行安全认证是必须要做的。用户相关操作切换到admin数据库对用户的添加use admin;db.createU

2021-08-07 21:08:57 588

原创 MongoDB集群高可用介绍和简单搭建

MongoDB主从复制架构原理和缺陷master-slave架构中master节点负责数据的读写,slave没有写入权限只负责读取数据。在主从结构中,主节点的操作记录成为oplog(operation log)。oplog存储在系统数据库local的 oplog.$main集合中,这个集合的每个文档都代表主节点上执行的一个操作。从服务器会定期从主服务中获取oplog记录,然后在本机上执行!对于存储oplog的集合,MongoDB采用的是固定集合,也就是说随着操作过多,新的操作会覆盖旧的操作!主从

2021-08-07 18:12:21 1148

原创 MongoDB架构

MongoDB逻辑结构  MongoDB 与 MySQL 中的架构相差不多,底层都使用了可插拔的存储引擎以满足用户的不同需要。用户可以根据程序的数据特征选择不同的存储引擎,在最新版本的 MongoDB 中使用了 WiredTiger 作为默认的存储引擎,WiredTiger 提供了不同粒度的并发控制和压缩机制,能够为不同种类的应用提供了最好的性能和存储率。  在存储引擎上层的就是 MongoDB 的数据模型和查询语言了,由于 MongoDB 对数据的存储与 RDBMS有较大的差异,所以它创建了一套不同

2021-08-07 10:24:07 439

原创 MongoDB 应用

MongoDB的适用场景● 网站数据:Mongo 非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。● 缓存:由于性能很高,Mongo 也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo搭建的持久化缓存层可以避免下层的数据源过载。● 大尺寸、低价值的数据:使用传统的关系型数据库存储一些大尺寸低价值数据时会比较浪费,在此之前,很多时候程序员往往会选择传统的文件进行存储。● 高伸缩性的场景:Mongo 非常适合由数十或数百台服务器组成的数据库,Mongo 的路线图中

2021-08-07 09:03:29 250

原创 MongoDB索引Index

什么是索引  索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。索引目标是提高数据库的查询效率,没有索引的话,查询会进行全表扫描(scan every document in a collection),数据量大时严重降低了查询效率。默认情况下Mongo在一个集合(collection)创建时,自动地对集合的_id创建了唯一索引。

2021-08-05 22:43:03 1976

原创 MongoDB基本CURD命令

MongoDB的基本操作选择和创建数据库选择和创建数据库的语法格式:use 数据库名称如果数据库不存在则自动创建,例如,以下语句创建spitdb 数据库:use articledb查看有权限查看的所有的数据库命令show dbs或show databases注意: 在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。查看当前正在使用的数据库命令dbMongoDB 中默认的数据库

2021-08-03 23:02:05 429

原创 MongoDB体系介绍和安装

MongoDB体系介绍NoSQL 和 MongoDBNoSQL=Not Only SQL,支持类似SQL的功能, 与Relational Database相辅相成。其性能较高,不使用SQL意味着没有结构化的存储要求(SQL为结构化的查询语句),没有约束之后架构更加灵活。NoSQL数据库四大家族 列存储 Hbase,键值(Key-Value)存储 Redis,图像存储 Neo4j,文档存储MongoDBMongoDB 是一个基于分布式文件存储的数据库,由 C++ 编写,可以为 WEB 应用提供可扩展

2021-08-01 15:59:01 139

原创 Sharding-Proxy简单应用

Sharding-Proxy简介Sharding-Proxy是ShardingSphere的第二个产品,定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。 目前先提供MySQL版本,它可以使用任何兼容MySQL协议的访问客户端(如:MySQL Command Client, MySQL Workbench等操作数据,对DBA更加友好。向应用程序完全透明,可直接当做MySQL使用适用于任何兼容MySQL协议的客户端Sharding-Proxy的优势

2021-07-28 07:49:41 608

原创 ShardingSphere SPI 加载和编排治理

SPI 加载官网地址在Apache ShardingSphere中,很多功能实现类的加载方式是通过SPI注入的方式完成的。 ServiceProvider Interface (SPI)是Java提供的一套被第三方实现或扩展的API,它可以用于实现框架扩展或组件替换。这里汇总了Apache ShardingSphere所有通过SPI方式载入的功能模块。SQL解析SQL解析的接口用于规定用于解析SQL的ANTLR语法文件。主要接口是SQLParserEntry,其内置实现类有MySQLPars

2021-07-27 22:36:44 684

原创 ShardingSphere分布式事务

分布式事务理论CAP(强一致性)CAP 定理,又被叫作布鲁尔定理。对于共享数据系统,最多只能同时拥有CAP其中的两个,任意两个都有其适应的场景。BASE(最终一致性)BASE 是指基本可用(Basically Available)、软状态( Soft State)、最终一致性( EventualConsistency)。它的核心思想是即使无法做到强一致性(CAP 就是强一致性),但应用可以采用适合的方式达到最终一致性。BA指的是基本业务可用性,支持分区失败;S表示柔性状态,也

2021-07-27 22:22:39 2825 1

原创 ShardingSphere读写分离和数据脱敏

读写分离读写分离是通过主从的配置方式,将查询请求均匀的分散到多个数据副本,进一步的提升系统的处理能力。主从架构:读写分离,目的是高可用、读写扩展。主从库内容相同,根据SQL语义进行路由。分库分表架构:数据分片,目的读写扩展、存储扩容。库和表内容不同,根据分片配置进行路由。将水平分片和读写分离联合使用,能够更加有效的提升系统性能, 下图展现了将分库分表与读写分离一同使用时,应用程序与数据库集群之间的复杂拓扑关系。  读写分离虽然可以提升系统的吞吐量和可用性,但同时也带来了数据不一致的问题,包括多

2021-07-26 19:32:00 739

原创 ShardingSphere分库分表简单应用

环境搭建主要分为以下几个步骤:准备数据库环境创建工程配置依赖配置yaml参数创建实体类和资源操作类测试环境准备数据库环境创建两个库,在库中创建两个相同的position表CREATE DATABASE sharding1;USE sharding1;CREATE TABLE `position` ( `id` BIGINT AUTO_INCREMENT, `name` VARCHAR(50) NOT NULL, `city` VARCHAR(50) NOT NULL,

2021-07-26 10:02:39 316

原创 ShardingSphere基本介绍及核心概念

文章目录关于分库分表背景描述遇到的问题如何解决垂直拆分水平拆分(数据分片)ShardingSphere介绍Sharding-JDBCSharding-JDBC主要功能:Sharding-JDBC 内部结构:Sharding-JDBC初始化流程:Sharding-JDBC 使用过程:ShardingSphere核心概念表概念分片概念分片键分片算法(ShardingAlgorithm)分片策略分片策略配置流程剖析SQL使用规范分页查询行表达式分布式主键关于分库分表背景描述最初设计的系统只用了单机数据库

2021-07-25 22:15:02 20026 6

原创 MySQL架构原理(八)读写分离和双主模式

读写分离读写分离引入时机  大多数互联网业务中,往往读多写少,这时候数据库的读会首先成为数据库的瓶颈。如果我们已经优化了SQL,但是读依旧还是瓶颈时,这时就可以选择“读写分离”架构了。  读写分离首先需要将数据库分为主从库,一个主库用于写数据,多个从库完成读数据的操作,主从库之间通过主从复制机制进行数据的同步,如图所示。在应用中可以在从库追加多个索引来优化查询,主库这些索引可以不加,用于提升写效率。读写分离架构也能够消除读写锁冲突从而提升数据库的读写性能。使用读写分离架构需要注意:主从同步延迟和

2021-07-18 14:48:26 832 2

原创 MySQL架构原理(七)集群架构和主从模式部署

文章目录集群架构设计架构设计理念可用性设计一致性设计主从模式适用场景实现原理主从复制半同步复制并行复制MySQL 5.6并行复制原理MySQL 5.7并行复制原理MySQL8.0 并行复制并行复制配置与调优并行复制监控主从模式部署安装安装虚拟机和Centos安装mysql主从模式的搭建配置主库配置从库测试半同步模式搭建主库配置从库配置测试并行复制配置并行复制监控集群架构设计架构设计理念在集群架构设计时,主要遵从下面三个维度:可用性扩展性一致性可用性设计站点高可用,冗余站点

2021-07-14 08:17:53 582

原创 MySQL主从部署, master and slave have equal MySQL server UUIDs问题解决

在虚拟机环境搭建主从复制的时候,启动slave后t通过shouw svale status \G;查看状态出现如下问题问题的原因就是因为从机的虚拟机是克隆出来,之前主机的mysql安装后生成了唯一的UUID,克隆出来的从机当前和原主机UUID重复解决方案:执行下面两条命令后,会重启mysql服务端,在进行主从复制的搭建即可正常mv /var/lib/mysql/auto.cnf /var/lib/mysql/auto.cnf.bkpsystemctl restart mysqld...

2021-07-13 22:43:56 190

原创 MySQL架构原理(六)锁机制

锁分类在 MySQL中锁有很多不同的分类。从操作的粒度可分为表级锁、行级锁和页级锁。表级锁:每次操作锁住整张表。锁定粒度大,发生锁冲突的概率最高,并发度最低。应用在MyISAM、InnoDB、BDB 等存储引擎中。行级锁:每次操作锁住一行数据。锁定粒度最小,发生锁冲突的概率最低,并发度最高。应用在InnoDB 存储引擎中。页级锁:每次锁定相邻的一组记录,锁定粒度界于表锁和行锁之间,开销和加锁时间界于表锁和行锁之间,并发度一般。应用在BDB 存储引擎中。从操作的类型可

2021-07-11 20:01:34 161 1

原创 MySQL架构原理(五)MySQL事务

ACID 特性  在关系型数据库管理系统中,一个逻辑工作单元要成为事务,必须满足这 4 个特性,即所谓的 ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。原子性原子性:事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。修改—》Buffer Pool修改—》刷盘。可能会有下面两种情况:事务提交了,如果此时Buffer Pool的脏页没有刷盘,如何保证修改的数据生效? Redo如果事务

2021-07-11 19:09:11 304 3

原创 MySQL架构原理(四)索引原理

文章目录索引类型普通索引唯一索引主键索引复合索引全文索引索引原理二分查找法介绍Hash结构B+Tree结构聚簇索引和辅助索引索引分析与优化EXPLAIN回表查询覆盖索引最左前缀原则LIKE查询NULL查询索引与排序查询优化慢查询定位慢查询优化慢查询原因总结分页查询优化索引类型索引可以提升查询速度,会影响where查询,以及order by排序。MySQL索引类型如下:从索引存储结构划分:B Tree索引、Hash索引、FULLTEXT全文索引、R Tree索引从应用层次划分:普通索引、唯一索

2021-07-11 11:12:07 166

原创 MySQL架构原理(三)线程模型和文件模型

InnoDB线程模型IO Thread在InnoDB中使用了大量的AIO(Async IO)来做读写处理,这样可以极大提高数据库的性能。在InnoDB1.0版本之前共有4个IO Thread,分别是write,read,insert buffer和log thread,后来版本将read thread和write thread分别增大到了4个,一共有10个了。read thread : 负责读取操作,将数据从磁盘加载到缓存page页。4个write thread:负责写操作,将缓存脏页

2021-07-09 21:11:47 370

原创 MySQL架构原理(二)存储引擎

MySQL存储引擎  存储引擎在MySQL的体系架构中位于第三层,负责MySQL中的数据的存储和提取,是与文件打交道的子系统,它是根据MySQL提供的文件访问层抽象接口定制的一种文件访问机制,这种机制就叫作存储引擎。使用show engines命令,就可以查看当前数据库支持的引擎信息。在5.5版本之前默认采用MyISAM存储引擎,从5.5开始采用InnoDB存储引擎。InnoDB:支持事务,具有提交,回滚和崩溃恢复能力,事务安全MyISAM:不支持事务和外键,访问速度快Memory

2021-07-05 22:37:27 184

原创 MySQL架构原理(一)体系架构和运行机制

MySQL体系架构MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层。

2021-07-05 21:57:42 297

原创 Spring Cloud Alibaba-11- SCA Sentinel 分布式系统的流量防卫兵

文章目录Sentinel 介绍Sentinel 部署服务改造Sentinel 关键概念Sentinel 流量规则模块流控模式之直接限流流控模式之关联限流流控模式之链路限流流控效果之Warm up流控效果之排队等待Sentinel 降级规则模块策略疑似BUGRT(慢调用比例 RT )异常⽐例异常数热点限流参数例外项系统自适应限流系统规则Sentinel 自定义兜底逻辑基于 Nacos 实现 Sentinel 规则持久化Nacos + Sentinel + Dubbo 三剑合璧服务提供者工程改造服务消费者⼯程改

2021-07-03 22:42:31 163

原创 Spring Cloud Alibaba-10-SCA Nacos 服务注册和配置中心

文章目录Nacos 介绍Nacos 单例服务部署Nacos 服务注册中心服务提供者注册到Nacos服务消费者从Nacos获取服务提供者Nacos修改服务提供者限制Nacos 数据模型(领域模型)创建新的集群命名空间相关Nacos Server 数据持久化Nacos Server 集群微服务同时注册到三个Nacos中Nacos 配置中心使用配置中心功能扩展DataId扩展DataId优先级Nacos 介绍Nacos (Dynamic Naming and Configuration Service)是阿⾥

2021-07-03 16:29:09 352

原创 Spring Cloud-09-微服务统统一认证方案 Spring Cloud OAuth2 + JWT

文章目录微服务架构下统⼀认证场景微服务架构下统⼀认证思路OAuth2开放授权协议/标准OAuth2介绍OAuth2协议角色和流程什么情况下需要使用OAuth2?OAuth2的颁发Token授权⽅式Spring Cloud OAuth2 + JWT 实现Spring Cloud OAuth2介绍Spring Cloud OAuth2构建微服务统一认证服务思路搭建认证服务器(Authorization Server)搭建资源服务器JWT改造统一认证授权中心的令牌存储机制认证服务器端JWT改造(改造主配置类)资源

2021-07-02 23:05:53 1214

原创 Spring Cloud-08-微服务监控之分布式链路追踪技术 Sleuth + Zipkin

分布式链路追踪技术适用场景(问题场景)场景描述  为了⽀撑⽇益增⻓的庞大业务量,我们会使⽤微服务架构设计我们的系统,使得我们的系统不仅能够通过集群部署抵挡流量的冲击,⼜能根据业务进⾏灵活的扩展。  那么,在微服务架构下,⼀次请求少则经过三四次服务调⽤完成,多则跨越⼏⼗个甚⾄是上百个服务节点。那么问题接踵⽽来:如何动态展示服务的调⽤链路?(⽐如A服务调⽤了哪些其他的服务—依赖关系)如何分析服务调⽤链路中的瓶颈节点并对其进⾏调优?(⽐如A—>B—>C,C服务处理时间特别⻓)如

2021-06-30 08:18:14 244

原创 Spring Cloud-07-Spring Cloud Stream消息驱动组件

文章目录Stream解决的痛点问题Stream重要概念传统MQ模型与Stream消息驱动模型Stream消息通信⽅式及编程模型Stream消息通信方式Stream编程注解Stream消息驱动之开发生产者端Stream消息驱动之开发消费者端Stream高级之自定义消息通道Stream高级之消息分组Spring Cloud Stream 消息驱动组件帮助我们更快速,更⽅便,更友好的去构建消息驱动微服务的。当时定时任务和消息驱动的⼀个对⽐。(消息驱动:基于消息机制做⼀些事情)MQ:消息队列/消息中间件/消息

2021-06-26 09:55:25 129

原创 Spring Cloud-06-Spring Cloud Config分布式配置中心

文章目录分布式配置中心应用场景Spring Cloud ConfigConfig简介Config分布式配置应用分布式配置中心应用场景  往往,使⽤配置⽂件管理⼀些配置信息,⽐如application.yml单体应⽤架构,配置信息的管理、维护并不会显得特别麻烦,⼿动操作就可以,因为就⼀个⼯程;  微服务架构,因为我们的分布式集群环境中可能有很多个微服务,我们不可能⼀个⼀个去修改配置然后重启⽣效,在⼀定场景下我们还需要在运⾏期间动态调整配置信息,⽐如:根据各个微服务的负载情况,动态调整数据源连接池⼤⼩,我

2021-06-25 23:18:30 252

原创 Spring Cloud-05-路由网关Spring Cloud Gateway

GateWay简介  Spring Cloud GateWayy是在Spring生态系统之上构建的API网关服务是Spring Cloud的⼀个全新项⽬,⽬标是取代Netflix Zuul,它基于Spring5.0+SpringBoot2.0+WebFlux(基于⾼性能的Reactor模式响应式通信框架Netty,异步⾮阻塞模型)等技术开发,性能⾼于Zuul,官⽅测试,GateWay是Zuul的1.6倍,旨在为微服务架构提供⼀种简单有效的统⼀的API路由管理⽅式。  Spring Cloud GateW

2021-06-24 22:50:24 207

原创 Spring Cloud-04-OpenFeign服务接口调用

文章目录Feign简介OpenFeign配置应用Feign对负载均衡的支持Feign对熔断器的支持Feign对请求压缩和响应压缩的支持Feign的日志级别配置Feign核心源码学习服务消费者调⽤服务提供者的时候使⽤RestTemplate技术存在不便之处拼接urlrestTmplate.getForObJect这两处代码都⽐较模板化,能不能不用来写这种模板化的东⻄另外来说,拼接url⾮常的low,拼接字符串,拼接参数,很low还容易出错Feign简介  Feign是Netflix

2021-06-24 00:26:09 250

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除