自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

原创 一、Ribbon源码分析-搭建Ribbon测试项目

搭建order-service、ribbon-transfer 测试Ribbon最基础的调用1、搭建eureka-server服务2、搭建ribbon-transfer调用服务3、搭建order-server被调用服务

2022-01-12 15:55:39 249

原创 如何保证消息的有序性呢?

如何保证消息的有序性呢?在部分场景中,消息的消费有可能存在强制的上下关联性,这个时候我们怎么去保证消息队列的消息消费是有序的呢?可以根据消息标识,讲统一标识的消息统一推送到同一个队列,并且由一个服务单独消费一个消息队列,这样我们就可以保证消息消费的有序性。...

2021-10-13 17:38:50 293

原创 Kafka、ActiveMQ、RabbitMQ、RocketMQ有什么优缺点?

Kafka、ActiveMQ、RabbitMQ、RocketMQ有什么优缺点?综上,各种对比之后,有如下建议:一般的业务系统要引入 MQ,最早大家都用 ActiveMQ,但是现在确实大家用的不多了,没经过大规模吞吐量场景的验证,社区也不是很活跃,所以大家还是算了吧,我个人不推荐用这个了;后来大家开始用 RabbitMQ,但是确实 erlang 语言阻止了大量的 Java 工程师去深入研究和掌控它,对公司而言,几乎处于不可控的状态,但是确实人家是开源的,比较稳定的支持,活跃度也高;不过现在确实越来

2021-10-13 17:33:29 197

原创 为什么使用消息队列

为什么使用消息队列使用消息队列核心场景解耦异步削峰消息队列有什么优缺点其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么?面试官问你这个问题,期望的一个回答是说,你们公司有个什么业务场景,这个业务场景有个什么技术挑战,如果不用 MQ 可能会很麻烦,但是你现在用了 MQ 之后带给了你很多的好处。先说一下消息队列常见的使用场景吧,其实场景有很多,但是比较核心的有 3 个:解耦、异步、削峰。使用消息队列核心场景解耦看这么个场景。A 系统发送数据到

2021-10-13 17:21:41 89

原创 IDEA EasyCode 自定义模板V2.5

Type Mappervarchar(\(\d+\))? java.lang.Stringchar(\(\d+\))? java.lang.Stringtext java.lang.Stringdecimal(\(\d+\))? java.lang.Doubledecimal(\(\d+,\d+\))? java.lang.Doubleinteger java.lang.Integerint(\(\d+\))? java.lang.Integerint4 java.lang.Integer

2021-08-19 00:09:40 217

原创 idea配置openJDK11-Lombok报错问题

项目启动报错java: You aren’t using a compiler supported by lombok, so lombok will not work and has been disabled.Your processor is: com.sun.proxy.$Proxy24Lombok supports: sun/apple javac 1.6, ECJ该报错是因为 idea 2020.3 版本以上配置了 open JDK 11 导致 lombok 适配问题idea

2021-08-10 23:21:10 1068 1

原创 简单使用smart-doc maven插件

简单使用smart-doc maven插件引入maven插件添加配置文件生成文档我之前一直都是使用swagger来作为接口文档的编写工具,swagger有一个问题就是对代码的侵入性很强,一些注释内容都必须加载在代码中,无法0侵入的给出接口文档,后续我也用过三方插件YApi,这种是可以不用侵入代码,但是无法跟着项目走,一旦数据丢失,那么所有的接口文档就都不见了;一直到我看到 smart-doc 这个maven插件,这个真的0侵入性,所有的接口文档依赖描述,都是基于对接口的注释,不用像swagger一

2021-08-04 14:35:57 1694 1

原创 Mysql使用规范化之索引规范

索引类型普通索引创建索引 [idx_列名]例如 CREATE INDEX 索引的名字 ON tablename (列名);修改表例如 ALTER TABLE tablename ADD INDEX 索引的名字 (列名);创建表例如 CREATE TABLE tablename ( […], INDEX 索引的名字 (列名) );唯一索引 [uk_列名]创建索引例如 CREATE UNIQUE INDEX 索引的名字 ON tablename (列的列表);

2021-07-31 14:58:20 340

原创 Nexus3初学者认识

Nexus3初学者认识Docker部署Nexus31、建立本地nexus文件挂载路径:2、启动nexus docker容器3、日志路径4、http://ip:8081 访问nexus5、创建仓库6、客户端配置docker 客户端配置docker 无客户端配置Nexus仓库类型proxy:远程仓库的代理hosted:宿主仓库Group:仓库组的概念Docker部署Nexus31、建立本地nexus文件挂载路径:mkdir {path}/nexus-data && chown -R 20

2021-07-30 09:33:08 926

原创 Eureka源码分析:ApplicationInfoManager初始化构建

Eureka源码分析:ApplicationInfoManager初始化构建完整初始化代码前置:初始化EurekaInstanceConfig初始化InstanceInfo初始化ApplicationInfoManager完整初始化代码 // 1、加载eureka-server.properties文件中的配置项 EurekaServerConfig eurekaServerConfig = new DefaultEurekaServerConfig(); // Fo

2021-07-23 16:26:37 228

原创 Eureka初始化环境变量以及上下文参数

Eureka源码解析之EurekaServer启动流程Eureka源码目录结构Eureka 启动入口EurekaBootStrap.java 监听器EurekaBootStrap#initEurekaEnvironmentEurekaBootStrap#initEurekaServerContext插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文

2021-07-22 15:18:22 360

原创 图解Eureka服务注册与发现原理

2021-07-22 15:04:05 290

原创 IDEA EasyCode 自定义模板V2.0

init##初始化区域##去掉表的t_前缀$!tableInfo.setName($tool.getClassName($tableInfo.obj.name.replaceFirst("book_","")))$!tableInfo.setName($tool.getClassName($tableInfo.obj.name.replaceFirst("auth_","")))#set($prefixName = $tool.getClassName($tableInfo.obj.name

2020-09-15 15:02:09 606

原创 IDEA EasyCode 自定义模板V1.0

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2020-09-15 15:01:33 813

原创 IDEA Easy Code 自定义模板

Idea --> settings --> plugins --> Easy Code 安装插件进入 Idea --> settings --> other settingsglobal config --> init##初始化区域##去掉表的t_前缀$!tableInfo.setName($tool.getClassName($tableInfo.obj.name.replaceFirst("book_","")))$!tableInfo.setName

2020-09-14 20:37:05 508

原创 Eureka Client 启动源码解析

Eureka Server 源码解析

2020-08-31 11:09:30 342 1

原创 Eureka Server 启动源码解析

Eureka Server 源码解析一、源码解析启动流程可以根据 web.xml 配置文件可以知道,eureka 再启动的时候监听了一个类<listener> <listener-class>com.netflix.eureka.EurekaBootStrap</listener-class></listener>我们可以发现com.netflix.eureka.EurekaBootStrap是javax.servlet.Servle

2020-08-25 08:37:10 211

原创 eureka源码项目架构说明及web.xml解析

一、eureka源码项目架构说明1、eureka项目源码截图2、项目包说明eureka-clienteureka-client 模块为 Eureka-Client 的功能实现:com.netflix.appinfo:Eureka-Client的应用配置信息com.netfilx.discovery:Eureka-Client服务注册与服务发现相关功能源码重点类:com.netflix.discovery.DiscoveryClient 服务注册发现客户端实现类eureka-cli

2020-08-20 10:38:57 314

原创 eureka入门

一、为什么需要注册中心?在谈论这个问题之前,我们先来了解一下微服务的概念。现在的项目越来越大,为了多人协同开发,为了提高系统并发量,为了减轻单个项目的业务重量,引入了微服务,解决以上问题。在使用微服务中,首先需要面对的问题,就是我们在将各个业务点做了拆分、细化、独立之后,我们要考虑各个服务之间相互依赖,引用问题。那么各个服务之间如何通信呢?在单体服务中如果不同服务之间需要通信,一般都是服务将接口暴露,其他服务通过http进行请求调用,那么很明显,其实在微服务中也可以这样。如果我们照搬过来,

2020-08-20 09:07:49 162

原创 策略模式实现商品多种优惠策略

策略模式 Strategry 特点:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。优点策略模式遵循了开闭原则,实现了代码的解耦合。在使用策略模式的时候,如果你想要拓展新策略,可以不改动任何旧逻辑,可以很方便的添加新逻辑。...

2020-08-08 16:07:26 936

原创 单例模式5种实现

单例模式(Singleton),说真的每次面试的笔试提总会有这一道题,这个题应该是所有面试者遇到过最多的面试题,下面我就总计一下我个人对单例模式的个人理解以及几种实现方式简单写一下。单例模式一般运用于整个系统只需要存在一个全局对象,那么这个时候运用单例模式进去有助于我们协调系统的整体行为。一、场景比如读取文件内容、配置信息、计数器等二、单例模式优缺点优点:1、在单例模式中,活动的单例在一个系统内只能存在唯一一个实例。所有调用者针对活动单例的都无法实例化,只由活动单例自己实例化;2、系统内只存

2020-07-23 18:09:33 732 4

原创 Redis持久化方式RDB、AOF优缺点简述

Redis 基础数据类型: String、Hash、List、Set、SrotSet;String:数据类型为Key->Value;Hash:数据类型对应Java -> Map 形式;List:数据可重复,数组类型;Set:数据结构类型 List,但数据不可重复;SortSet:在 Set 数据结构上面,加上排序逻辑;Redis 高级数据类型: Bitmap、HyperLogLog、GEORedis 持久化存储方式:RDB、AOF**RDB:【全量】**RDB持久化,是指在指定时

2020-06-08 13:23:45 609

原创 关系型数据库六大范式-个人理解

目前关系数据库有六种范式:1、第一范式(1NF)2、第二范式(2NF)3、第三范式(3NF)4、巴斯-科德范式(BCNF)5、第四范式(4NF)6、第五范式(5NF,又称完美范式)第一范式(1NF)规定:强调属性的原子性约束,要求属性具有原子性,不可再分解口语化解释:其实说白了,就是需要保证在数据库中的一个字段不可再分割的状态;好比说,我们现在存储了一个地区字段,例如:广东省-广州市-天河区;如果你将这一段信息存储在数据表中的一个字段了里面,就表示不合规范的.

2020-06-01 13:17:21 2707

原创 Source Tree For Mac 跳过注册流程

1、登录SourceTree官网 : https://www.sourcetreeapp.com/2、下载完成打开Source Tree;3、关闭 Source Tree;4、打开终端,在终端中输入以下该命令:defaults write com.torusknot.SourceTreeNotMAS completedWelcomeWizardVersion 35、在重新打开 Sourc...

2019-12-05 18:07:30 387

原创 Flyway 数据库版本控制

Flyway 数据库版本控制Flyway 简介Flyway是一个简单开源数据库版本控制器(约定大于配置),主要提供migrate、clean、info、validate、baseline、repair等命令。它支持SQL(PL/SQL、T-SQL)方式和Java方式,支持命令行客户端等,还提供一系列的插件支持(Maven、Gradle、SBT、ANT等)。概念版本:对数据库的每一次变更...

2019-11-29 16:49:07 721

原创 Docker 环境创建Mysql服务

Docker 环境搭建Mysql服务编写者:kenny1. 下载Mysql的Docker镜像docker search mysqlXXXXXX:~ XXX$ docker search mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysql MySQL is a widely used, open-source relation… 86...

2019-11-21 13:45:06 115

原创 canal+rocketmq实现数据库同步

canal+rocketmq实现数据库同步服务器布署​ 开发环境布署192.168.1.150,rocketmq可视化界面地址192.168.1.150:12581​ 服务商帐号 root 密码 Sm!R18rdl 服务端 目录: /usr/local/canal​ 消费端目录:/usr/local/canal-rocketmq-client测试环境由运维布署到了印度公网测试...

2019-11-21 13:43:40 7483

原创 canal+kafka实现数据库同步

canal实现数据库同步1.1.1 canal的工作原理canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump 协议MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal )canal 解析 binary log 对象(原始为 byte 流)1....

2019-11-21 13:42:32 1790

原创 canal-client+zookeeper实现数据库同步

Canal+zookeeper+client+mysql实现数据库同步开发环境布署:canal服务端布署:192.168.1.150:11111,路径:/usr/local/canal主库192.168.1.136:3306,帐号root,密码123456,被同步的数据库是canal_tdbcanal客户端布署:192.168.1.150:8802,路径:/usr/local/canal-...

2019-11-21 13:42:01 1433

原创 Docker 环境创建zookeeper服务

1.查看zookeeper镜像docker search zookeeper2.拉取zookeeper镜像docker pull zookeeper3.查看本地镜像docker images或docker image ls4.启动zookeeper容器实例docker run --privileged=true --restart=always --name zookeeper ...

2019-11-21 13:40:12 103

原创 Docker 环境搭建rabbitmq服务

Docker 环境搭建rabbitmq服务编写者:kenny1、docker 下载镜像docker pull rabbitmq:managementbogon:~ XXXXXX$ docker pull rabbitmq:managementmanagement: Pulling from library/rabbitmqf17d81b4b692: Already exists0...

2019-11-21 13:39:40 122

原创 Docker 环境创建redis集群服务

Docker 环境创建redis集群服务编写者:kenny1. 在 docker 中创建 redis 服务docker run --name redis-7000 -p 7000:6379 -d redis:3.2 docker run --name redis-7001 -p 7001:6379 -d redis:3.2docker run --name redis-7002 -p ...

2019-11-21 12:14:46 123

原创 Docker--单机版 redis

Docker 单机版 redis编写者:kenny1、查看镜像:XXX:~ XXX$ docker images2、下载docker镜像:XXX:~ XXX$ docker pull centos:7.2.15113、查看已下载好的centos镜像的编号:XXX:~ XXX$ docker imagesREPOSITORY TAG ...

2019-11-21 12:14:32 102

原创 Docker 安装centos7

Docker 安装centos7编写者:kenny1、查看镜像:XXX:~ XXX$ docker images2、下载docker镜像:XXX:~ XXX$ docker pull centos:7.2.15113、查看已下载好的centos镜像的编号:XXX:~ XXX$ docker imagesREPOSITORY TAG ...

2019-11-21 12:14:11 88

阿里巴巴java开发手册()

阿里巴巴Java开发手册(华山版/泰山版).pdf

2021-07-19

空空如也

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

TA关注的人

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