2 LaoShiRen1207

尚未进行身份认证

我要认证

天下有太多难学的思想和技术

等级
TA的排名 15w+

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

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

2020-10-10 16:18:27

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

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

2020-09-20 19:46:00

到底如何创建一组项目

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

2020-09-04 15:40:41

微服务解决方案 -- 高效搜索 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

微服务解决方案 -- 高效搜索 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

微服务解决方案 -- 分布式事务 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

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

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

2020-07-01 22:37:07

微服务解决方案 -- 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

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

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

2020-05-16 19:01:24

平台 -- 持续交付平台 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

【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

【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

【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

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

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

2020-03-13 14:42:59

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

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

2020-03-12 18:05:06

【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

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

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

2020-03-11 16:17:26

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

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

2020-03-10 13:07:19

【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

【React】入门第二天 - jsx

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

2020-03-09 14:05:59

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。