自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Netty就是这么回事(九)

好久没更新了,之前一段时间一直在忙双11,外加其他项目实在是没有时间写,好在现在快过春节了,终于有时间写了。这一章主要介绍netty的websocket协议开发,websocket协议其实不是很新鲜了,但是比较重要,本身设计它的目的就是为了取代轮训和Comet技术,使客户端具有像C/S架构下桌...

2018-01-16 14:56:00 109

转载 JTA分布式事务与Atomikos

本章主要介绍分布式事务,对于多数据源操作,如果不得不使用分布式事务来处理,那就需要JTA,它主要包括两个部分:事务管理器,支持XA协议的资源管理器。其中事务管理器主要是给开发人员的接口,而资源管理器是给服务提供商的接口,服务提供商就是数据库连接的厂商。对于分布式事务的原理依然是两阶段、三阶段事...

2017-03-15 10:53:00 149

转载 如何做到模块热部署

热部署其实就是如何在服务器不重启的时候动态的替换相关模块,要讲热部署之前就要先了解一下类加载机制。 JVM加载一个类需要经过这么几个阶段,加载,验证,解析,初始化,使用,卸载。其中到初始化阶段之前是类的加载全部。并且JVM在加载一个类时是用的双亲委派模型。也就是当classloader加载一...

2017-03-06 20:18:00 280

转载 spring事务在多库下的处理

这一章主要介绍,分布式事务的雏形-spring事务在多库下的处理。这个算是比较难得并且很容易在开发过程中遇到各种坑。介绍之前先讲一下问题的缘由,前一阵,一个朋友说他在做一个业务,需要先从A库捞取一些数据,然后再B库里面根据对A库数据的处理来决定是否插入一条数据,在测试的时候测了回滚的情况,但是...

2017-03-03 14:56:00 591

转载 数据源的无缝切换

随着业务的发展,用户量的增大,单表单库已经满足不了我们的业务需求,因此需要分库分表,但是随之带来的问题是当我们需要从库中捞取某些数据的时候,经常需要在多个数据库来回切换,如何做到无缝切换,这里主要通过配置数据源,自定义注解和aop技术来解决。主要包含以下4步: 1、切换数据源 例如我们有两...

2017-02-21 16:29:00 294

转载 java实现自定义注解

无论开发web还是后端,都会经常和spring打交道,而使用最频繁的当然是注解。我们在享受spring注解带来的方便的同时,是否想过能否实现自己的注解呢?我们通过java的原生态类就可以做到这点,我们主要关注java.lang.annotation。 以下是实现的代码,注解已经很详细了。这里...

2017-02-20 20:16:00 82

转载 数据库的事务

今天是工作日的最后一天,明天就是除夕了,赶紧趁这个时间再写一篇文章。今天主要说一下事务,这里主要探讨数据库的事务机制,并不是spring的事务,毕竟大多数人对spring的事务其实是很清楚的。但是对于数据库底层的事务了解的不是很深入,往往有时候会遇到奇怪的现象,废话不多说,直接开始! ---...

2017-01-26 12:07:00 75

转载 万恶的锁

一直以来想写一篇关于锁的总结,因为java的锁太多了,五花八门,并且有时候不知道怎么去选择,好多人都犯糊涂,当然自己也犯糊涂。本章并不是介绍java中的concurrent包下的相关锁,那个一般在开发中间件系统中常用,更多的人开发是在和数据库打交道,接触的都是数据库级别的锁。废话不多说,直接开...

2017-01-18 19:11:00 99

转载 Netty就是这么回事(八)

这一章主要介绍如何使用Netty开发自定义通信协议。我们知道有的时候可能我们不想用java的序列化,因为编码效率低,并且我们也不想使用protobuf,因为如果说我们的通信程序都是来自一个平台,那么用protobuf每次都需要重新利用工具生成文件也不是很好,那么就需要开发自己的通信协议。 在...

2017-01-16 19:56:00 120

转载 Netty就是这么回事(七)

这一章,主要介绍下Netty的心跳处理,心跳处理在通信开发中是最常用的,服务端通过心跳可以监控客户端的链接状态,进行相应的处理。 记得,之前用NIO做了一个客户端和服务端通信的项目,客户端并不是用java写的,而且一个嵌入式的设备,走的lwapp协议栈,有时候嵌入式设备点击复位或者直接掉电后...

2017-01-16 11:48:00 85

转载 Netty就是这么回事(六)

趁着今天有时间,多发一点。这一章主要介绍Protobuf编解码器,首先先说protobuf是个什么东西。它其实是Google开发的一个数据交换的格式,它独立于语言,独立于平台。用过它的都会觉得它太好用了,记得当初在iesLab开发电力系统高级应用软件的服务端用到的通信协议就是它,除了代码风格不...

2017-01-14 19:01:00 56

转载 Netty就是这么回事(五)

好久没更新了,先吐槽一下,最近太忙了,不知道为啥到了年底竟然这么忙,最可气的是最近一个项目遇到一个很2的产品还有一个很2的测试,测试是一问三不知,怎么测都要来问我,产品说这个东西我觉得很简单啊,怎么你做的这么复杂,让我讲给他听,我讲了1/4,他就蒙蔽了,说了句这么复杂啊。。。。。。哎,怀念在支...

2017-01-14 18:40:00 65

转载 Netty就是这么回事(四)

这一章继续为大家介绍Netty自带的解码器,上一章主要介绍了支持TCP粘包/分包处理的linebasedframedecoder,它是根据回车或换行符、换行符来判定结束位置的。那么如果我们想自己定义分隔符,怎么解决?这时候我们就要借助DelimeterBasedFrameDecoder,它支持...

2017-01-09 20:08:00 82

转载 Netty就是这么回事(三)

因为我们在进行服务端开发过程中,一定会遇到TCP的粘包和分包问题,所谓粘包和分包就是因为TCP的滑动窗口以及拥塞避免等机制造成的,比如说我发一个包并不是一次性发完,可能拆成多个包多次发送,当我接收一个包时,可能会接收两个包的组合体。那么对于这种问题,Netty框架是如何解决的呢?这里,我先接收...

2017-01-05 10:33:00 82

转载 Netty就是这么回事(二)

承接上一章,接下来开始进入Netty入门,本文所采用的Netty版本号是5.0,这个请大家注意下。 还是上一个场景,一个简单的客户端和服务端直接发送字符串的程序,如果使用Netty框架如何展示呢?废话不多说,直接上代码。 服务端: package com.dlb.note.server;...

2017-01-05 09:43:00 69

转载 Netty就是这么回事(一)

写在开头:Netty是个什么玩意?这里摘抄官网的一段话:Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 也就是说,Netty 是一个基于NIO的客户、服务器端编程框架,使用Ne...

2017-01-05 09:41:00 92

转载 支付宝双11的功臣-分布式关系型数据库(oceanbase)

我们都知道阿里双11,除了创造了世界史上的交易奇迹之外,也创造了世界技术史上的奇迹。支付宝的峰值达到了每秒12万笔,这在技术界简直是一个奇迹。为什么说他是一个奇迹呢?简单的来解释一下:其实在日常开发中,打交道最多的就是数据库,好多开发都戏称只会增、删、改。但是千万不要小看增、删、改,因为假设你...

2017-01-05 09:40:00 362

转载 我在支付宝是如何处理高并发case的

写在开头,好多人都问我在支付宝是如何处理高并发的。哎~~~~,那我今天就说一下,我是怎么解决每天上百万的还款的,顺便介绍一下高并发的思路。 首先,先看一个图(看不懂没关系,稍后我会解释)。 首先,介绍下,我在支付宝主要负责开发信贷核心系统,它是网商银行的核心系统(不是皮系统),通俗的说...

2017-01-05 09:39:00 437

空空如也

空空如也

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

TA关注的人

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