8 归田

尚未进行身份认证

我要认证

Java开发工程师

等级
TA的排名 1k+

docker 安装 tomcat 镜像相关命令简单记录

docker 下载tomcat 镜像 安装启动相关命令:下载 tomcat 镜像docker pull tomcat查看镜像docker images启动镜像docker run -p 8080:8080 --name mytomcat tomcat:latest列出所有容器docker ps -a启动容器docker start 容器id在容器中执行脚本docker exec -it mytomcat /bin/bash拷贝文件容器文件到当前目前目录下docke

2020-07-04 15:45:05

RocketMQ原理学习--多副本实现 DLedger

一、DLedger引入目的在 RocketMQ 4.5 版本之前,RocketMQ 只有 Master/Slave 一种部署方式,一组 broker 中有一个 Master ,有零到多个Slave,Slave 通过同步复制或异步复制的方式去同步 Master 数据。Master/Slave 部署模式,提供了一定的高可用性。但这样的部署模式,有一定缺陷。比如故障转移方面,如果主节...

2020-02-27 23:19:17

MySQL事务的实现原理

1. 开篇相信大家都用过事务以及了解他的特点,如原子性(Atomicity),一致性(Consistency),隔离型(Isolation)以及持久性(Durability)等。今天想跟大家一起研究下事务内部到底是怎么实现的,在讲解前我想先抛出个问题:事务想要做到什么效果?按我理解,无非是要做到可靠性以及并发处理。可靠性:数据库要保证当insert或update操作时抛异常或者数据...

2020-02-27 22:42:45

redis数据类型介绍

数据类型 实现方式 描述 String int 用来保存整数值 raw 用来保存长字符串(长度大于44字节) embstr 保存短字符串(长度小于44字节) List ziplist(压缩列表) 列表保存元素个数小于512个 每个元素长度小于64字节 压缩列表是Redis为了节省内存而开发的,是由一系列特殊编码...

2019-08-26 16:17:51

限流 -- Sentinel 相关实现原理学习总结

简介Sentinel 是什么?随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。官方地址:https://github.com/alibaba/Sentinel/Sentinel 具有以下特征:丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场...

2019-08-25 18:05:58

配置中心 -- Apollo 相关知识总结学习

1、总体架构上图简要描述了Apollo的总体设计,我们可以从下往上看:Config Service提供配置的读取、推送等功能,服务对象是Apollo客户端 Admin Service提供配置的修改、发布等功能,服务对象是Apollo Portal(管理界面) Config Service和Admin Service都是多实例、无状态部署,所以需要将自己注册到Eureka中并保持心...

2019-08-10 17:44:17

配置中心 -- Nacos 客户端配置获取及监听实现原理

这篇博客我们通过示例来了解学习一下Nacos的客户端获取配置以及服务端发送配置的相关流程。服务端创建配置在Nacos的管理页面我们可以创建如下配置信息1、在默认命名空间下新建配置2、编辑配置并发布客户端获取配置1、客户端主动获取配置(1)客户端创建ConfigService服务根据dataId和group来获取配置信息示例:根据data...

2019-07-15 19:53:32

配置中心 -- Nacos 实现原理

动态配置管理是 Nacos 的三大功能之一,通过动态配置服务,我们可以在所有环境中以集中和动态的方式管理所有应用程序或服务的配置信息。动态配置中心可以实现配置更新时无需重新部署应用程序和服务即可使相应的配置信息生效,这极大了增加了系统的运维能力。动态配置下面我将来和大家一起来了解下 Nacos 的动态配置的能力,看看 Nacos 是如何以简单、优雅、高效的方式管理配置,实现配置的动态变...

2019-07-14 20:17:15

Orika 拷贝框架

Orika是一个简单、快速的JavaBean拷贝框架,Orika使用字节代码生成来创建具有最小开销的快速映射器。pom.xml 引入: <dependency> <groupId>ma.glasnost.orika</groupId> <artifactId>orika-cor...

2019-07-09 10:45:28

Spring Web 学习 -- DeferredResult 长连接异步返回

最近在学习有个配置中心(nacos 和 apollo),配置中心在配置变更时通过 http 长连接的方式进行通知。(1)配置客户端定时向配置中心发送请求获取最新配置(apollo客户端会像服务端发送长轮训http请求,超时时间60秒,当超时后返回客户端一个304 httpstatus,表明配置没有变更,客户端继续这个步骤重复发起请求,当有发布配置的时候,服务端会调用DeferredResult...

2019-07-07 14:46:04

业务学习 -- 高并发系统保护之限流和降级熔断

限流是我们在业务开发中经常遇到的问题1、请求入口限流(Nginx 限流,Tomcat 线程池及等待队列设置,限流算法(漏桶算法,令牌桶算法,计数器算法))2、接口调用限流(Spring Cloud Hystrix(线程池/信号量) 和 Sentinel(信号量))3、基于削峰填谷流量整理(kafka、RocketMQ和RabbitMQ)https://juejin.im/post/5b3a...

2019-06-16 21:52:54

Dubbo源码学习--ExceptionFilter 异常处理机制

背景我们的项目使用了dubbo进行不同系统之间的调用。每个项目都有一个全局的异常处理,对于业务异常,我们会抛出自定义的业务异常(继承RuntimeException)。全局的异常处理会根据不同的异常类型进行不同的处理。最近我们发现,某个系统调用dubbo请求,provider端(服务提供方)抛出了自定义的业务异常,但consumer端(服务消费方)拿到的并不是自定义的业务异常。这是为什...

2019-05-28 10:26:31

微信和支付宝相关支付业务场景介绍

支付宝 当面付 条码支付 应用场景:商家使用扫码设备,扫描用户支付宝钱包上的条码/二维码,完成收款。支付流程:API列表: 接口名称 描述 API地址 alipay.trade.pay 统一收单交易支付接口 https://docs.op...

2019-05-18 22:50:54

支付业务简单理解

目前微信和支付宝支付已经非常深入我们的日常生活, 尤其在大城市中几乎涉及所有和钱相关的场景(银行除外)下都少不了支付宝和微信支付的二维码身影,真是大大方便了人们的日常生活,之前工作中也有涉及到和支付(微信和支付宝)相关功能及接口开发,这篇博客来稍微总结一下吧。接口文档1、支付宝蚂蚁开放平台:https://open.alipay.com/platform/home.ht...

2019-05-18 22:39:45

限流 -- Sentinel 搭建及入门学习

简介服务安装客户端界面

2019-05-11 21:39:02

Skywalking原理学习 -- skywalking 搭建及入门示例

环境搭建安装下载部署页面介绍Agent 使用示例实现原理

2019-04-27 17:38:53

Zipkin原理学习 -- Druid 追踪多种数据库 SQL 执行

在上一篇博客 《Zipkin原理学习–日志追踪 MySQL 执行语句》 中我们已经了解学习到 Zipkin 官方提供的针对 MySQL 数据库 sql 语句执行的追踪拦截器,现在我们基于数据库连接池 Druid 的 Filter 机制 写一个能支持多种数据库(mysql,pg、oracle 等)日志追踪拦截器。Druid 过滤器 FilterDruidDataSource支持通过Filter-...

2019-03-18 21:29:52

Fescar源码学习--锁设计和隔离级别的理解

Fescar全局锁的理解前几天夜里,我老大发我一篇文章说阿里的GTS开源了.因为一直对分布式事务比较感兴趣。立马pull了代码,进行阅读。基本的原理,实现方案我就不一一细化了,详细见官方文档(写的很棒,点赞)。 在fescar的社区,大家比较关注的是通过fescar回滚到before快照前,别的线程假如更新了数据,且业务走完了,那么恢复的这个快照不就是脏数据了么。很显然,这种情况在...

2019-03-16 17:56:03

Zipkin原理学习--日志追踪 MySQL 执行语句

目前Zipkin官方提供了插件用于支持对MySQL语句执行过程的日志追踪,提供了对MySQL5、MySQL6和MySQL8的支持,官方地址:https://github.com/openzipkin/brave/tree/master/instrumentation一、介绍及示例配置示例:1、引入相关jar包:<dependency> <...

2019-03-14 20:07:23

Chat 文章

Chat 地址:https://gitbook.cn/gitchat/author/5bc58d055c3f706584a48033最近抽空写了几篇 Chat,与各位交流学习一下:《分布式任务调度框架 Elastic-Job 实例解析》《分布式任务调度框架 XXL-JOB 实例解析》标题《RocketMQ 消息类型介绍及实现原理探究》标题...

2019-03-02 17:06:05

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。