自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 微服务解决方案 -- 数据库增量日志解析 Canal

微服务解决方案 Canal1. 什么是Canalcanal [kə’næl],译意为水道/管道/沟渠,主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费。基于日志增量订阅和消费的业务包括数据库镜像数据库实时备份索引构建和实时维护(拆分异构索引、倒排索引等)业务cache刷新带业务逻辑的增量数据处理当前的canal支持源端MySQL版本包括 5.1.x , 5.5.x , 5.6.x , 5.7.x , 8.0.x2. 为什么使用Canal2.1 MySQL主备

2020-11-15 23:00:45 585

原创 微服务解决方案 -- 消息队列 【RabbitMQ】

微服务解决方案 – 消息队列 【RabbitMQ】1 前言1.1 什么是MQ?MQ (Message Queue):翻译为消息队列,消息队列可以理解为一种在TCP协议之上构建的一个简单的协议,但它又不是具体的通信协议,而是更高层次的 通信模型 即 生产者 / 消费者模型,通过定义自己的生产者和消费者实现消息通信从而屏蔽复杂的底层通信协议;它为分布式应用系统提供异步解耦和削峰填谷的能力,同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性。… MQ是异步的,解耦用的,但是这个是MQ的效

2020-10-10 16:18:27 1889 2

原创 微服务解决方案 -- Mybatis-Plus + Redis缓存,如何不太优雅的使用Redis缓存

如何不太优雅的使用Redis缓存我们都知道使用redis来缓存我们的数据集合,如下图所示。通常自己去缓存数据,这样的优点就是逻辑清晰,而且redis的key和value会比较规范。但是冗余代码会比较多,需要自己进行判断数据是否过期。为了简化业务代码,现在用注解的方式集成redis二级缓存,但是他的key和value就会比较不符合规范。他的key一共包含5个部分,最重要的就是sql和这个sql的参数。他的value就是这个查询的结果集。准备工作引入依赖,mybatis<dependency

2020-09-21 10:15:49 3964 2

原创 到底如何创建一组项目

到底如何创建一组项目为什么要写这篇文章?因为最近加班一个多月在开发的时候发现的问题,刚好9月4号请了一天假,休息之余促使我写了这一篇现在许多公司已经有了一套成熟的架构,为了今后的持续发展和扩张的业务,程序员的招聘也变得越来越平凡。一家公司如此多的程序员到底如何协作,如何创建一组项目。传统项目是一个程序员必备的项目,他有完整的结构,从依赖到功能再到业务本身。一套Spring贯穿全部。但是他有缺点,那就是不够灵活。所以才有了现在的微服务。传统项优点之一就是他的依赖管理是完全由本身项目约定好的。所以

2020-09-04 15:40:41 1808

原创 微服务解决方案 -- 高效搜索 Elastic Search 7.6.2 (下)

微服务解决方案 – 高效搜索Elastic Search 7.6.2 (下)前言上一篇ES 是我在3周前写的,由于工作原因,一直没有发布,现在我们公司已经开始使用了ES,刚好就把这个一起写了。微服务解决方案 – 高效搜索 Elastic Search 7.6.2 (上)先说一下为什么我们公司要使用ES,因为我们公司有一个表大概在20W+,我们希望能够快速的查找相似数据,进行对比。MySQL虽然能使用like进行查找,但是分词等技术还得想办法解决。于是我们本来是打算使用MySQL+Drools,进行查

2020-08-01 12:33:59 2408 3

原创 微服务解决方案 -- 高效搜索 Elastic Search 7.6.2 (上)

微服务解决方案 – 高效搜索 Elastic Search 7.6.2前言为什么要写这篇,首先写这个的技术的肯定不止我一个,我将其视为我自己学习的一个路程,自己如果在工作中使用到了,也可以拿来直接上手。我认为在工作中,以最少知识原则去构建项目,当这些最少知识不足以满足需求的时候,就得学习。Elastic Search 是什么Elastic Search (以下简称ES),ES 是一个基于Lucene的搜索服务器。它提供了一个分布式 多用户能力的全文搜索引擎,基于RESTful web接口,使用Ja

2020-07-25 11:18:40 734

原创 微服务解决方案 -- 分布式事务 Seata

SeataSeata 是什么?Seata is an easy-to-use, high-performance, open source distributed transaction solution.Seata 是一个简单易用的,高性能,开源的分布式事务解决方案。AT模式AT 模式是一种无侵入的分布式事务解决方案。在 AT 模式下,用户只需关注自己的“业务 SQL”,用户的 “业务 SQL” 就是全局事务一阶段,Seata 框架会自动生成事务的二阶段提交和回滚操作。AT 模式如何做到

2020-07-11 18:53:01 1146 1

原创 微服务解决方案 -- 分库分表 ShardingSphere

场景中国现在有9亿网民,我们随便一个人做点什么都会产生大量数据,比如看一下视频发表一下感想。点赞57万,投币45万,评论1W+,再比如前段时间的618购物节,无数网民疯狂购物产生无数的消费数据,这么庞大的数据量该如何存储?前言我们都知道mysql有性能瓶颈,当数据量到达2100w左右的时候,效率就会大幅下降。mysql> show global variables like '%page%';+--------------------------------------+--------

2020-07-01 22:37:07 1324 3

原创 微服务解决方案 -- MyBatis-Plus 效率至上,为简化开发而生

MyBatis-Plus官网 https://mp.baomidou.com/guide/1. 简介Mybatis-Plus (简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。愿景我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。依赖<dependency> <groupId>com.baomidou</groupId>

2020-06-21 18:45:48 1099 2

原创 微服务解决方案 -- BloomFilter 布隆过滤器 (外传二)

布隆过滤器场景分析如何解决这个问题,这个时候会想到布隆过滤器,有用redis的,也有用guava的,还有自己实现的。首先布隆过滤器是一个bit向量或数组,这里就当做数组了。我们得初始化这个数组即给与这个过滤器一定的长度,然后我们对一个key进行hash算法,可以多次hash,下图就hash了3次,将数组的对应的index的值设置为1。完成了以后当该key再次请求过来的时候将三次hash的结果进行与运算,如果结果为1时就说明我们的这个key存在,即可以继续请求缓存或者数据库,如果为0就直接返回

2020-05-16 19:01:24 318

原创 平台 -- 持续交付平台 Jenkins

视频还没审核通过Jenkins机器 ubuntu 18.04内存 4G硬盘 30G基础配置固定ipvi /etc/netplan/50-cloud-init.yamlnetwork: ethernets: ens33: addresses: [192.168.0.1/24] gateway4: 192.168.0....

2020-04-12 20:44:07 235

原创 【Java】hash& (n-1)为什么和取模效果一样?

这个是我同学的面试题,当时我和他说的不清楚,于是就有了这篇文章。看到题目就知道这是Java7的HashMap的方法去计算Key值所在HashMap的位置解析我们看到底是谁调用了这个方法。final int hash(Object k) { int h = 0; if (useAltHashing) { if (k instanceof String) { ...

2020-03-19 01:14:59 1704 1

原创 【React】入门第十天 - 综合练习篇

使用react + AntDesign 开发一个后台dashboard 项目效果图 – 2020年03月16日17:30:48说明该项目适合入门级玩家,只需要在views添加自己的页面,然后在routes添加对应的路由即可。所有请求需要经过./src/api/request.js发起,请求需要发送一个access_token,该access_token在登录过程中会保存。开发环境n...

2020-03-16 17:37:47 214

原创 【React】入门第九天 - 路由和参数

路由路由根据url的不同切换对应的组件实现spa 单页应用,更加接近于原生体验下载npm i --save react-router-dom路由分为2中 react-router和react-router-dom,第一种只提供了核心api路由模式hash模式-> HashRouter 刷新的时候页面不会丢失 带#号Brower模式->BrowserRouter 通...

2020-03-14 17:26:33 148

原创 【React】入门第八天 - axios和跨域

数据请求live-server什么是live-serverlive-server是一个具有实时加载功能的小型服务器,可以使用它来破解html/css/javascript,但是不能用于部署最终站点。也就是说我们可以在项目中实时用live-server作为一个实时服务器实时查看开发的网页或项目效果。所以这个就当做我们的mock的服务安装npm的安装方式(推荐)npm i -g l...

2020-03-13 14:42:59 359

原创 【React】入门第七天 - 组件传值

组件传值父向子组件传值和本地模式一样使用props传递数据子组件向父组件传值首先我们在父组件定义一个传递的props,叫fuFun,这个其实是一个函数调用自己定义的dataFun<News user = {user} fuFun = {this.dataFun}/>父组件完整代码import React, { Component } from "react";i...

2020-03-12 18:05:06 119

原创 【React】入门第六天 - create-react-app

开始学习react脚手架去做项目了脚手架create-react-app 是facebook推出一款react的脚手架安装npm i -g create-react-app# 或者使用镜像npm i -g create-react-app --registry=https://registry.npm.taobao.org#查看版本create-react-app --versi...

2020-03-11 22:03:41 171

原创 【React】入门第五天 - state和refs

state什么是statestate 是状态state和props的区别props是组件对外部的接口,如果子组件需要使用父组件的数据就可以通过props来进行数据传递,state是组件对内的接口,组件自身可能有需要管理的数据,对管理数据的 属性就是state如果需要使用state 不能使用无状态组件class MyComponent extends React.Component {...

2020-03-11 16:17:26 195

原创 【React】入门第四天 - 组件和props

组件Component组件和props的基础使用组件是什么?把逻辑精密的内容放在一个组件中,把不同组件的依赖关系弱化,每个组件尽可能独立组件的重要内容组件当中的构建方式组件内的属性生命周期react的组件氛围3个部分分别是属性props,状态state和生命周期,react的组件是一个非常重要的概念,通过组件可以把页面的UI部分分割成独立高复用性的部件,让每一个...

2020-03-10 13:07:19 162

原创 【React】入门第三天 - 数组和对象

react 数组map()循环react数组渲常用map()镜像数据渲染<script type="text/babel"> var arr = ["react", "vue", "java", "golang"]; let dom = (<div> { arr.map((item, index) =>...

2020-03-09 17:48:17 370

原创 【React】入门第二天 - jsx

jsx今天开始学习jsx什么是jsxReact 使用 JSX 来替代常规的 JavaScript。JSX 是一个看起来很像 XML 的 JavaScript 语法扩展。我们不需要一定使用 JSX,但它有以下优点:JSX 执行更快,因为它在编译为 JavaScript 代码后进行了优化。它是类型安全的,在编译过程中就能发现错误。使用 JSX 编写模板更加简单快速。基本语法...

2020-03-09 14:05:59 214

原创 【React】入门第一天

React.js个人认为自己的前端知识体系不够完整,想接着疫情和找工作的时间里学习一下React.js。至于为什么选择React.js,因为Vue.js在3.0要转向Typescript了,学Vue也是学,学React.js也是学。而且我个人更加看好React.js,所以个人在这段时间内会以博客形式更新个人学习的进度。什么是React.js?React是Fackbook开发的JS库特...

2020-03-08 22:41:08 171

原创 【CocoaPods】iOS开发遇到的第一个难题

今天了解了一下iOS开发 ,于是我跟着文章做了起来,万万没想到遇到了这个东西CocoaPodsCocoaPodsCocoaPods是一个用来帮助我们管理第三方依赖库的工具。它可以解决库与库之间的依赖关系,下载库的源代码,同时通过创建一个Xcode的workspace来将这些第三方库和我们的工程连接起来,供我们开发使用。CocoaPods的安装第一步我们打开控制台输入 gem sou...

2020-03-04 23:28:33 258

原创 基础 -- Linux(五)磁盘扩容

上一篇讲了软件安装与管理,这一篇实现扩容。磁盘扩容总会有一天你的硬盘容量会被耗尽,那么这个时候我们装系统的时候勾选LVM技术就排上用处了。我们的目标就是将30G的硬盘扩容为35G# 查看挂载df -h# 输出Filesystem Size Used Avail Use% Mounted onudev ...

2020-02-08 22:01:34 243

原创 基础 -- Linux(四)软件的安装与管理

上一篇讲了文件和权限,这一篇主要讲软件的安装与管理软件管理APT使用它可以找到想要的软件包, 而且安装、卸载、更新都很简便。也可以用来对 Ubuntu 进行升级; APT 的源文件为 /etc/apt/ 目录下的 sources.list 文件。首先需要查看系统版本lsb_release -a,获取代号CodenameNo LSB modules are available.Distr...

2020-02-08 20:56:19 184

原创 基础 -- Linux(三)文件权限

上一篇讲了基本命令,使用了root用户,这一篇试试文件权限。文件权限我在/usr/local/test下创建了一个文件夹叫resources,还有两个文件test.txt和test.sh。# 查看 test.shcat test.sh#!/bin/bashecho Hello World注意每一个文件或文件夹前面都有drwxr-xr-x或者-rw-r--r--什么鬼的东西。...

2020-02-08 17:15:42 199

原创 基础 -- Linux(二)基本命令

上一篇讲了安装这一片主要是讲远程登录和基本操作基本操作以防搞坏虚拟机,我们打算克隆一台虚拟机,以后的软件操作都在克隆出来的虚拟机上操作,这样即使搞坏了克隆的虚拟机,我们只要重新克隆一台就行了,无需重装系统。右键Base 虚拟机->管理->克隆->下一步->虚拟机中的当前状态->创建连接克隆->输入路径,一直到结束。远程登录远程控制需要IP地址,所...

2020-02-07 19:12:36 124

原创 基础 -- Linux(一)简介与安装

Linux系统Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。为什么使用Linux系统图形界面风格依发布版不同而不同,可能互不兼容。GNU/Li...

2020-02-06 16:55:25 560

原创 微服务解决方案 -- Spring Cloud Alibaba (九)服务网关

不了解此套教程的可以移步之前章节1.微服务解决方案 – Spring Cloud Alibaba (一)服务的注册与发现2.微服务解决方案 – Spring Cloud Alibaba (二)服务提供者3.微服务解决方案 – Spring Cloud Alibaba (三)服务消费者(Feign)4.微服务解决方案 – Spring Cloud Alibaba (四)服务熔断5.微服务解...

2020-01-25 17:19:40 958

原创 微服务解决方案 -- Spring Cloud Alibaba (八)Dubbo 服务消费者

不了解此套教程的可以移步之前章节1.微服务解决方案 – Spring Cloud Alibaba (一)服务的注册与发现2.微服务解决方案 – Spring Cloud Alibaba (二)服务提供者3.微服务解决方案 – Spring Cloud Alibaba (三)服务消费者(Feign)4.微服务解决方案 – Spring Cloud Alibaba (四)服务熔断5.微服务解...

2020-01-24 21:38:00 823

原创 微服务解决方案 -- OSS对象存储服务 (外传一)

进入到微服务开发,对于小型企业或者独立开发者来说,最大的问题就是内存和硬盘问题,所以我自己的服务不可能将文件存储在自己的服务器上。那么如何存储我们的文件?阿里云OSS对象存储阿里云对象存储服务(Object Storage Service,简称 OSS)为您提供基于网络的数据存取服务。使用 OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。阿里云 ...

2020-01-15 15:31:21 1074

原创 微服务解决方案 -- Spring Cloud Alibaba (七)Dubbo 服务提供者

不了解此套教程的可以移步之前章节1.微服务解决方案 – Spring Cloud Alibaba (一)服务的注册与发现2.微服务解决方案 – Spring Cloud Alibaba (二)服务提供者3.微服务解决方案 – Spring Cloud Alibaba (三)服务消费者(Feign)4.微服务解决方案 – Spring Cloud Alibaba (四)服务熔断5.微服务解...

2020-01-08 23:16:23 588

原创 微服务解决方案 -- Spring Cloud Alibaba (六)Dubbo 远程过程调用

不了解此套教程的可以移步之前章节1.微服务解决方案 – Spring Cloud Alibaba (一)服务的注册与发现2.微服务解决方案 – Spring Cloud Alibaba (二)服务提供者3.微服务解决方案 – Spring Cloud Alibaba (三)服务消费者(Feign)4.微服务解决方案 – Spring Cloud Alibaba (四)服务熔断5.微服务解...

2020-01-07 12:09:54 1008

原创 微服务解决方案 -- Spring Cloud Alibaba (五)分布式配置中心

不了解此套教程的可以移步之前章节1.微服务解决方案 – Spring Cloud Alibaba (一)服务的注册与发现2.微服务解决方案 – Spring Cloud Alibaba (二)服务提供者3.微服务解决方案 – Spring Cloud Alibaba (三)服务消费者(Feign)4.微服务解决方案 – Spring Cloud Alibaba (四)服务熔断分布式配置中...

2020-01-04 21:01:19 454

原创 微服务解决方案 -- Spring Cloud Alibaba (四)服务熔断

不了解此套教程的服务注册与发现可以移步之前章节1.微服务解决方案 – Spring Cloud Alibaba (一)服务的注册与发现2.微服务解决方案 – Spring Cloud Alibaba (二)服务提供者3.微服务解决方案 – Spring Cloud Alibaba (三)服务消费者(Feign)...

2020-01-02 17:55:30 968

原创 微服务解决方案 -- Spring Cloud Alibaba (三)服务消费者(Feign)

不了解此套教程的服务注册与发现可以移步之前章节1.微服务解决方案 – Spring Cloud Alibaba (一)服务的注册与发现2.微服务解决方案 – Spring Cloud Alibaba (二)服务提供者服务消费者...

2019-12-24 17:43:58 559

原创 微服务解决方案 -- Spring Cloud Alibaba (二)服务提供者

还没开写

2019-12-23 00:19:04 523

原创 微服务解决方案 -- Spring Cloud Alibaba (一)服务的注册与发现

什么是Nacos?Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。Nacos官网基本架构Nacos主要充当了我们服务注册...

2019-12-23 00:14:37 612

原创 七、微服务技能--静态资源服务(css,js)

7.1 题目还没想好

2019-12-19 21:05:15 585

原创 平台 -- 镜像平台 Registry

5.1 什么是 Registry ? Registry 的安装官方的 Docker Hub 是一个用于管理公共镜像的地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去。但是,有时候我们的服务器无法访问互联网,或者你不希望将自己的镜像放到公网当中,那么你就需要 Docker Registry,它可以用来存储和管理自己的镜像。安装cd /usr/local/docker/re...

2019-12-10 19:46:34 171

空空如也

空空如也

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

TA关注的人

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