自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码农时代

java后端开发

原创 深入浅出dubbo源码系列--provider启动流程分析

深入浅出dubbo源码系列--provider启动流程分析前言Provider启动主流程几个动态生产类【可以拷贝到对应目录,进行源码的debug】 前言 Dubb本身具有很强的扩展性:协议有多种实现,注册中心和底层通信框架也有多种选择; 我们下面就梳理下dubbo的核心主流程。主要包括三个子流程:...

2019-04-12 17:34:26

阅读数 88

评论数 0

原创 深入浅出dubbo源码系列--走进Dubbo

深入浅出dubbo源码系列--走进dubbo什么是RPC什么是DubboDubbo整体架构设计介绍 什么是RPC 了解dubbo之前,我们先来看下啥是RPC框架,他到底是用来干嘛的呢? 在这个微服务盛行的大环境下,很多人应该都有使用过RPC框架的经验;大白话来说:RPC框架最大的作用 就是对于cl...

2019-03-14 13:12:34

阅读数 338

评论数 0

原创 常见数据库拆分方案汇总

前言 根据业务域垂直拆分 主从复制,读写分离 分库分表 前言 随着互联网行业的高速发展,一些商业的存储解决方案的成本越来越高;大部分企业开始寻求开源的存储解决方案,成为互联网商业存储的首选。下面以mysql为例,介绍下数据库的扩展方案。 根据业务域垂直拆分 首先是根...

2018-07-15 17:52:35

阅读数 1806

评论数 0

原创 深入浅出SpringBoot系列--多数据源集成

引言 应用场景 集成方案 其他: 引言 在上一篇文章中已经详细介绍了与mybatis的集成方案【深入浅出SpringBoot系列–与mybatis集成】,本文主要介绍一些更复杂的数据操作场景,比如动态数据源的切换,分库,分库分表等。 其实对于分库分表这块的场景,目前市场上有...

2018-07-15 11:38:25

阅读数 362

评论数 0

原创 深入浅出SpringBoot系列--与mybatis集成

[TOC] 本文主要介绍下常见的spring boot与mybatis集成方案,下面简单介绍下集成步骤。spring boot的集成方案不同于传统的spring mvc,基本上是零配置;这个方案中只有数据库连接字符串还放在配置文件中,后续其实在阿波罗配置,实现零配置。 集成步骤 1.POM...

2018-07-15 09:56:52

阅读数 420

评论数 0

原创 分布式ID生成器的解决方案

[TOC] 分布式ID生成器的作用(why) 分布式ID的方案(how) 为什么需要分布式ID生成器 : 简单介绍下分布式ID生成器出现的背景: 1.目前微服务架构盛行,在分布式系统中的操作中都会有一些全局性ID的需求,比如消息中和http请求中或者消息中的唯一标识号,作为交易双方的...

2018-07-11 17:07:36

阅读数 373

评论数 0

原创 常见的系统设计规范(约束)

目录 用 [TOC]来生成目录: 目录 系统的基本设计规范 数据库设计规范 外部交互设计规范 系统的基本设计规范 1.减少跨系统的交互,一个系统尽量只能CURD自己业务域的数据库,不要跨域去操作其他应用的数据。 2.尽量减少IO以及网络的访问,将多次的...

2018-05-27 23:08:37

阅读数 5961

评论数 0

原创 hystrix实战--资源隔离技术简介

前言: hystrix中,其实最核心的一个功能就是资源隔离,就是将多个依赖服务的调用分别隔离到各个资源的内部,避免因为依赖服务的失败或者延迟,导致服务所有的线程资源花费在这个伤害,继而导致服务崩塌。 线程池隔离和信号量隔离 hystrix中主要有两种资源隔离的技术:线程池隔离和信号量隔离...

2018-08-10 00:09:53

阅读数 826

评论数 0

原创 hystrix实战--why hystrix?

背景: 在分布式服务架构中,可能会调用很多的远程服务来完成一个业务流程。 如果某一个依赖服务有问题;在高并发大数据量的场景下,很多应用服务器(比如tomcat)内部的线程就会卡死在这个调用服务上。 更坏的情况,会有越来越多的线程进入等待中;导致没有额外的线程处理该服务中其他的业务接口;进而导...

2018-08-09 23:20:55

阅读数 104

评论数 0

原创 redis实战--redis cluster的架构搭建

部署步骤 因为redis cluster的集群,至少需要3个master去组成一个高可用,高并发的分布式集群,然后每个master也建议都至少挂载一个slave节点。 所以对于测试环境, 我们可以基于3台虚拟机,启动6个redis的实例进行模拟部署测试。 修改配置文件: 在每一台机器的配置...

2018-08-04 21:34:25

阅读数 148

评论数 0

原创 redis实战--redis cluster的原理分析

why redis cluster 之前我们以前了解过主从复制,读写分离的架构,他就能够支持一定数据量的场景;为什么我们还需要搭建redis cluster的集群呢? 如果我们的缓存数据量只有几个G ,那么基于单master的主从架构是足够满足我的需求,可以搭建一主多从的架构,通过搭建sent...

2018-08-04 21:01:46

阅读数 491

评论数 0

原创 redis实战--基于哨兵的高可用方案解析

前言 基本介绍 部署步骤 不足之处 前言 前面已经介绍过持久化的两种机制,以及主从复制的原理,部署。这里所谓的高可用,讲的是99.99(或者99.9%或者99%)的时间内,系统是可用的。下面我们就看下哨兵模式的相关概念。 基本介绍 功能: 哨兵是redis集群架...

2018-07-27 23:05:14

阅读数 379

评论数 0

原创 redis实战--redis主从复制实现读写分离(部署搭建)

前言 部署步骤 读写分离测试 前言 前面已经介绍过了redis主从复制实现读写分离的原理;这一篇文章主要介绍下如何部署搭建一套主从复制,主从读写分离的环境。 部署步骤 1.下载 下载tcl8.6.1-src.tar.gz和redis-3.2.8.tar.gz;将两...

2018-07-25 23:04:54

阅读数 556

评论数 0

原创 redis实战--redis主从复制实现读写分离(原理)

1、redis高并发跟整个系统的高并发之间的关系 redis,你要搞高并发的话,不可避免,要把底层的缓存搞得很好 mysql,高并发,做到了,那么也是通过一系列复杂的分库分表,订单系统,事务要求的,QPS到几万,比较高了。 单机redis 的QPS只能是上万,所以就会有系统瓶颈。 读写分离...

2018-07-25 15:50:40

阅读数 7752

评论数 0

原创 redis实战--redis两种持久化方式

前言: 持久化的意义 RDB持久化机制介绍 AOF持久化机制介绍 如何配置RDB持久化机制 如何配置AOF策略 AOF和RDB同时工作 前言: 说到redis的持久化,大家可能就想到了RDB和AOF两种方式; 下面就这两种方案的意义以及两种持久化方案的工作原理。 持久化的意...

2018-07-24 19:23:33

阅读数 145

评论数 0

原创 使用Nexus配置Maven私有仓库

下载并且安装nexus 调整setting.xml的配置 测试上传jar包到私服服务器 下载并且安装nexus 1.从以下网址【https://www.sonatype.com/oss-thank-you-tar.gz】下载对应的版本,我下载的是linux版本的。** 解决...

2018-07-22 14:59:25

阅读数 1990

评论数 0

原创 MyBatis代码生成器自动生成代码(通过maven组件的方式)

前言: 集成步骤 总结 前言: 本文简单介绍下如何利用mybatis生成器插件帮我们生成实体类,dao接口以及Mapping映射文件 集成步骤 1. 在对应的工程的pom文件中加入生成插件。 <build> &l...

2018-07-22 10:38:52

阅读数 85

评论数 0

原创 分布式事务实践(五)--最大努力通知的方案

前言 方案简介 前言 前面几篇文章,我们主要介绍了基于可靠性消息的最终一致性解决方案;有基于本地消息服务的和独立消息服务的,参见之前的文章可靠消息的最终一致性方案(集成独立消息服务)。 方案简介 最大努力通知方案: 适用场景: 对于业务最终一致性的时间敏感度比较低的。 ...

2018-07-21 23:29:49

阅读数 601

评论数 0

原创 分布式事务实践(四)--可靠消息的最终一致性方案(集成独立消息服务)

前言 方案介绍: 总结 前言 经过前面一篇文章的介绍:可靠消息的最终一致性方案(本地消息服务),我们已经了解了基于本地服务的最终一致性方案,本地消息服务有一定的优势,当然也有一定的弊端。这一篇我们就来了解下将本地消息服务优化成 独立部署的消息服务子系统。 方案介绍: ...

2018-07-21 21:21:31

阅读数 894

评论数 0

原创 分布式事务实战(三)--可靠消息的最终一致性方案(本地消息服务)

前言 经过前面一篇文章的了解(消息一致性问题的分析),我们已经清楚了消息在发送以及接受端会存在一致性的问题;只有解决了消息的一致性问题, 才可以在分布式部署环境下我们认为他们是可靠的,进而可以基于可靠消息来保证最终的一致性。 方案介绍 本文主要介绍下本地消息服务的最终一致性解决方案: 整体...

2018-07-21 17:54:33

阅读数 923

评论数 0

原创 分布式事务实战(二)--可靠消息的最终一致性方案(消息的一致性问题)

前言 如何保证一致性问题 异常情况分析 总结 前言 消息发送一致性问题: 在分布式部署环境下,通过网络进行通讯,就会有数据传世的不确定性,也就是CAP中的P【会出现分区容错性的问题】。主动方发送消息到消息中间件以及消息中间件到被动方应用题都会出现网络的问题; 如何保证一致...

2018-07-21 17:45:01

阅读数 1231

评论数 0

原创 分布式事务实战--常用解决方案介绍

前言 本地事务 全局事务: Bsse理论 CAP理论 柔性事务 前言 随着微服务架构的盛行,分布式事务成为大部分企业集成中的一个技术难点;特别是在微服务架构体系下,这个问题尤其突出,可以说是无可避免。可能每个人对于微服务的理解可能都不太一样,下面就聊下分布式事务涉及到的一些...

2018-07-21 14:57:19

阅读数 363

评论数 0

原创 深入浅出SpringBoot系列--与Dubbo集成

前言: 基本项目工程介绍: 服务提供方 服务调用方 结果测试 代码参考: 前言: 前面文章已经介绍过dubbo admin的如何部署以及安装,不会的可以参见 dubbo admin的安装。本文主要介绍下如何与springboot的一个集成。废话不多说了, 集成非常简单,支...

2018-07-17 22:17:03

阅读数 669

评论数 0

原创 Dubbo admin的安装部署

安装步骤 1.编译源码和打包 2.安装zookeeper集群 3.修改dubbo,properties文件 4.部署war包 安装步骤 1.编译源码和打包 现在已经为Dubbo Admin单独开了一个GIT项目,Git的地址如下: https://github.co...

2018-07-17 21:42:04

阅读数 120

评论数 0

原创 聊聊hashcode和equals

基本概念 举例说明: 基本概念 hashcode: 有人说hashcode就是对象的内存地址,这种说法其实过于绝对,应该是根据不同的jvm实现决定的。 我理解hashcode的作用是返回哈希码,确定对象在hash表中的位置,所以仅仅当使用散列表的类【hashset, hash...

2018-07-16 20:31:06

阅读数 42

评论数 0

原创 spring事务原理

四大特性:ACID 传播行为 隔离级别 属性说明 @Transactional 四大特性:ACID 原子性: 一个事务的所有系列操作步骤被看成是一个动作,所有的步骤要么全部完成要么一个也不会完成,如果事务过程中任何一点失败,将要被改变的数据库记录就不会被真正被改变。 ...

2018-07-15 19:40:43

阅读数 46

评论数 0

原创 深入浅出SpringBoot系列--Hello World

简介 spring boot是什么?: 摘自spring boot官方 Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “jus...

2018-06-14 18:15:20

阅读数 87

评论数 0

原创 大话线程池

why线程池 上一篇中有介绍了线程与进程的区别【线程与进程】;JDK中已经提供了Thread类和runnable接口来创建和启动一个线程了, 为什么还需线程池呢? 因为创建和销毁线程是需要有成本的,如果频繁的去做这个事情,那么会很浪费CPU的资源,进而影响之下的效率;极端情况下也可能引起OOM,...

2018-06-13 21:07:07

阅读数 51

评论数 0

原创 基于eclipse的远程debug

很多时候我们会由于本地和服务器的一些环境有所区别; 或者说由于数据的问题,导致没法在本地重现问题; 这样就需要我们需要远程debug,分析问题的原因. 其实eclipse与IDE步骤差不多, 我简单介绍下eclipse的配置策略; 1.如果有些服务器做了白名单, 得把你本地的机器的ip加进去;...

2018-06-08 18:11:22

阅读数 62

评论数 0

原创 java线程的相关概念

目录 目录 # 并发与并行 # 线程与进程 #JAVA内存 # 并发与并行 并发指的是程序的结构,而后者值得是程序运行时的状态 并发是指一个处理器同时处理多个任务;并行是指多个处理器或者是多核的处理器同时处理多个不同的任务。 并发是让多个任务在逻辑上交织执行的程序...

2018-06-08 17:18:17

阅读数 55

评论数 0

原创 reids的开发实践

目录 [TOC] 基本特性以及优势 ============== 读写性能优异:全部在内存中计算,单线程,IO非阻塞。 支持数据持久化,支持AOF和RDB两种持久化方式 数据结构丰富:基于KEY-VALUE除了支持string类型的value外还支持string、hash、set、s...

2018-06-07 19:15:00

阅读数 134

评论数 0

原创 对于java中回调的一些理解,希望大家都能进来指点指点

我对回调的理解是:回调就是获取内部类对象的引用后,在需要的时候反过来调用外部类实例的方法。这样的理解不知道是不是到位,求解?还有啥时候使用回调会比较恰当?请朋友们指点指点。 除了内部类中有,还有其他地方用到吗?回调的好处又是什么?...

2011-06-20 17:15:01

阅读数 45

评论数 0

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