自定义博客皮肤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入门中

继续前行

  • 博客(201)
  • 资源 (6)
  • 收藏
  • 关注

原创 网络穿透与音视频技术(2)——NAT的概念及工作模式(下)

上文中我们已经提到三种NAT映射模式,它们是静态映射(Static NAT)、动态映射(Pooled NAT)和网络地址端口映射(NAPT/PAT),又由于NAPT/PAT映射模式的灵活性和复用性最好,所以它又是目前应用最广泛的一种映射模式。这种端口复用的映射模式目前又有四种实现方式,本文我们将逐个进行介绍,以便为我们后文介绍网络穿透方式打下理论基础。

2018-09-19 09:16:01 2057

原创 网络穿透与音视频技术(1)——NAT的概念及工作模式(上)

NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上(摘自百度)。本文和后续几篇文章将按照NAT基本概念、NAT映射模式、NAT映射实现方式、NAT检验这样的顺序进行知识介绍和梳理。

2018-09-14 17:42:30 3014 5

原创 Spring/Boot/Cloud系列知识(7)——Spring Aspectj EL(3)

Spring EL是Spring Expression Language的简称,中文称作Spring表达式语言。Spring EL并不单单指代某一种特定的表达式格式,而是对Spring中字符串表达式的一个概要性称呼。

2017-11-04 18:43:21 3768 4

原创 Spring/Boot/Cloud系列知识(6)——Spring EL(2)

Spring EL是Spring Expression Language的简称,中文称作Spring表达式语言。Spring EL并不单单指代某一种特定的表达式格式,而是对Spring中字符串表达式的一个概要性称呼。

2017-10-05 16:05:41 2744 6

原创 Spring/Boot/Cloud系列知识(5)——Spring EL(1)

Spring EL是Spring Expression Language的简称,中文称作Spring表达式语言。Spring EL并不单单指代某一种特定的表达式格式,而是对Spring中字符串表达式的一个概要性称呼。

2017-10-03 17:46:05 3236 1

原创 Spring/Boot/Cloud系列知识(4)——代理模式(下)

代理模式是23种设计模式中的一种,属于一种结构模式。用一句大白话解释这个设计模式:当外部调用者调用A来完成一件事情/一个动作时,并不直接调用A本身,而是调用一个代理者,并再由代理者负责调用真实的执行者A,最终达到间接调用的目的。

2017-09-21 10:10:50 2911 2

原创 Spring/Boot/Cloud系列知识(3)——代理模式(中)

代理模式是23种设计模式中的一种,属于一种结构模式。用一句大白话解释这个设计模式:当外部调用者调用A来完成一件事情/一个动作时,并不直接调用A本身,而是调用一个代理者,并再由代理者负责调用真实的执行者A,最终达到间接调用的目的。

2017-09-17 09:11:58 5221 4

原创 Spring/Boot/Cloud系列知识(2)——代理模式

代理模式是23种设计模式中的一种,属于一种结构模式。用一句大白话解释这个设计模式:当外部调用者调用A来完成一件事情/一个动作时,并不直接调用A本身,而是调用一个代理者,并再由代理者负责调用真实的执行者A,最终达到间接调用的目的。

2017-09-15 11:24:54 5038 3

原创 Spring/Boot/Cloud系列知识(1)——开篇

各位支持我的朋友大家好啊,博客停了两个月处理了一些私人事务。从今天开始本人恢复技术博客更新。欢迎大家继续关注

2017-09-05 10:19:30 4749 16

原创 线程进阶:多任务处理(17)——Java中的锁(Unsafe基础)

本专题在之前的文章中详细介绍了Java中最常使用的一种锁机制——同步锁。但是同步锁肯定是不适合在所有应用场景中使用的。所以从本文开始,笔者将试图通过两到三篇文章的篇幅向读者介绍Java中锁的分类、原理和底层实现。以便大家在实际工作中根据应用场景进行使用。本篇文章我们先介绍Java中关于锁的底层实现的基础类sun.misc.Unsafe。

2017-06-14 18:41:06 19096 20

原创 线程基础:多任务处理(16)——Fork/Join框架(排序算法性能补充)

本篇文章从单线程快速排序到多线程归并排序、再到多线程桶排序的方式,依次分析它的执行性能。本篇文章并不侧重于算法详细过程的讲解,关于快速排序、桶排序、归并排序等排序算法的详细过程请读者参见其它专门介绍算法过程的资料,当然本文还是会讲解这些排序算法的大致过程。

2017-06-06 14:57:26 4659 2

原创 线程基础:多任务处理(15)——Fork/Join框架(要点2)

Fork/Join Pool采用优良的设计、代码实现和硬件原子操作机制等多种思路保证其执行性能。其中包括(但不限于):计算资源共享、高性能队列、避免伪共享、工作窃取机制等。本文(以及后续文章)试图和读者一起分析JDK1.8中Fork/Join Pool的源代码实现,去理解Fork/Join Pool是怎样工作的。

2017-05-31 09:04:19 4454

原创 线程基础:多任务处理(14)——Fork/Join框架(要点1)

Fork/Join Pool采用优良的设计、代码实现和硬件原子操作机制等多种思路保证其执行性能。其中包括(但不限于):计算资源共享、高性能队列、避免伪共享、工作窃取机制等。本文(以及后续文章)试图和读者一起分析JDK1.8中Fork/Join Pool的源代码实现,去理解Fork/Join Pool是怎样工作的。

2017-05-27 15:40:45 9306 3

原创 线程基础:多任务处理(13)——Fork/Join框架(解决排序问题)

之前文章讲解Fork/Join框架的基本使用时,所举的的例子是使用Fork/Join框架完成1-1000的整数累加。这个示例如果只是演示Fork/Join框架的使用,那还行,但这种例子和实际工作中所面对的问题还有一定差距。本篇文章我们使用Fork/Join框架解决一个实际问题,就是高效排序的问题。

2017-05-14 12:36:08 10753 12

原创 线程基础:多任务处理(12)——Fork/Join框架(基本使用)

ForkJoinPool由Java大师Doug Lea主持编写,它可以将一个大的任务拆分成多个子任务进行并行处理,最后将子任务结果合并成最后的计算结果,并进行输出。本文中对Fork/Join框架的讲解,基于JDK1.8+中的Fork/Join框架实现,参考的Fork/Join框架主要源代码也基于JDK1.8+。

2017-05-14 12:34:14 11020 1

原创 架构设计:系统存储(30)——分布式文件系统Ceph(RADOS结构)

从本篇文章开始介绍一款现在非常火的分布式文件系统Ceph,包括这款文件系统的安装、基本使用场景、常用管理命令和重要工作原理。特别是讨论了PaxOS算法的基本理后,就更容易理解Ceph分布式文件系统中各种角色的工作原理。

2017-04-29 16:50:47 8844 5

原创 架构设计:系统存储(29)——分布式文件系统Ceph(管理)

从本篇文章开始介绍一款现在非常火的分布式文件系统Ceph,包括这款文件系统的安装、基本使用场景、常用管理命令和重要工作原理。特别是讨论了PaxOS算法的基本理后,就更容易理解Ceph分布式文件系统中各种角色的工作原理。

2017-04-22 11:03:34 6890 7

原创 架构设计:系统存储(28)——分布式文件系统Ceph(挂载)

从本篇文章开始介绍一款现在非常火的分布式文件系统Ceph,包括这款文件系统的安装、基本使用场景、常用管理命令和重要工作原理。特别是讨论了PaxOS算法的基本理后,就更容易理解Ceph分布式文件系统中各种角色的工作原理。

2017-04-14 14:00:38 8681 1

原创 架构设计:系统存储(27)——分布式文件系统Ceph(安装)

从本篇文章开始介绍一款现在非常火的分布式文件系统Ceph,包括这款文件系统的安装、基本使用场景、常用管理命令和重要工作原理。特别是讨论了PaxOS算法的基本理后,就更容易理解Ceph分布式文件系统中各种角色的工作原理。

2017-04-05 13:17:49 8309 2

原创 架构设计:系统存储(26)——数据一致性与Paxos算法(终)

从本文开始,笔者将花三到四篇文章的篇幅,介绍Paxos算法。包括它的理论基础、基本实现、变种实现,其它保证最终一致性的算法,等等。

2017-03-26 20:22:16 4615 3

原创 架构设计:系统存储(25)——数据一致性与Paxos算法(下)

从本文开始,笔者将花三到四篇文章的篇幅,介绍Paxos算法。包括它的理论基础、基本实现、变种实现,其它保证最终一致性的算法,等等。

2017-03-20 18:34:29 5481 3

原创 Java架构师之路——Java中高阶知识精讲-银文杰-专题视频课程

Java架构师除了对软件顶层结构进行设计和搭建外,还需要负责对软件核心基础的模块进行代码开发,而掌握Java中编码知识是完成这件事情的根本要素。本课程启迪学习者如何具备这样的能力。...

2017-03-16 08:57:07 2073

原创 架构设计:系统存储(24)——数据一致性与Paxos算法(中)

从本文开始,笔者将花三到四篇文章的篇幅,介绍Paxos算法。包括它的理论基础、基本实现、变种实现,其它保证最终一致性的算法,等等。

2017-03-13 22:28:40 6976 5

原创 架构设计:系统存储(23)——数据一致性与Paxos算法(上)

从本文开始,笔者将花三到四篇文章的篇幅,介绍Paxos算法。包括它的理论基础、基本实现、变种实现,其它保证最终一致性的算法,等等。

2017-03-13 22:16:50 9187 7

原创 架构设计:系统存储(22)——图片服务器:详细设计(2)

之前的两篇文章介绍了图片系统的技术组件选型和技术方案设计,从这篇文章开始我们将搭建工程进行详细的编码开发和效果测试。整个图片服务工程代码会上传到了CSDN的下载区,如果对工程感兴趣那么读者可以直接下载。

2017-01-18 11:23:42 6300 7

原创 架构设计:系统存储(21)——图片服务器:详细设计(1)

之前的两篇文章介绍了图片系统的技术组件选型和技术方案设计,从这篇文章开始我们将搭建工程进行详细的编码开发和效果测试。整个图片服务工程代码会上传到了CSDN的下载区,如果对工程感兴趣那么读者可以直接下载。

2017-01-18 11:22:36 8413 2

原创 架构设计:系统存储(20)——图片服务器:需求和技术选型(2)

图片服务系统是各种针对C端系统常见的子系统,它的特点是存储规模大请求频度高,且单张图片的读请求远远高于写请求。后面几篇文章我们将从图片服务系统的需求分析开始,一起来讨论如何进行这类系统的技术选型、概要设计和详细设计,以及在这个过程中需要关注的技术难点。

2017-01-16 16:44:30 8372 3

原创 架构设计:系统存储(19)——图片服务器:需求和技术选型(1)

图片服务系统是各种针对C端系统常见的子系统,它的特点是存储规模大请求频度高,且单张图片的读请求远远高于写请求。后面几篇文章我们将从图片服务系统的需求分析开始,一起来讨论如何进行这类系统的技术选型、概要设计和详细设计,以及在这个过程中需要关注的技术难点。

2017-01-16 16:41:00 17920 1

原创 架构设计:系统存储(18)——Redis集群方案:高性能

从这篇文章开始我们一起来讨论Redis中两种高性能集群方案,并且在讨论过程中将上一篇文章介绍的高可用集群方案结合进去。这两种高性能集群方案是:Twemproxy和Redis自带的Cluster方案。

2016-12-31 11:05:39 10062 10

原创 阶段性纠错邀请

阶段性纠错邀请

2016-12-22 09:25:01 3085

原创 架构设计:系统存储(17)——Redis集群方案:高可用

从本篇文章开始,我们将向读者介绍几种Redis的高可用高负载集群方案。除了介绍Redis 3.X版本中推荐的原生集群方案外,还会介绍使用第三方组件搭建Redis集群的方法。本文我们会首先介绍Redis的高可用集群方案。

2016-12-20 17:46:51 10897 10

原创 架构设计:系统存储(16)——Redis事件订阅和持久化存储

在本专题讨论Redis时,会首先花一些较少的篇幅介绍Redis的基本安装和使用,然后将深入Redis所支持的数据结构主要讲解Redis底层设计对这些数据结构的支撑,接下来会介绍Redis的主要配置优化事项,最后介绍Redis的集群搭建方式(基于3.X版本)和实施案例。

2016-12-13 11:14:49 12292 3

原创 架构设计:系统存储(15)——Redis基本概念和安装使用

在本专题讨论Redis时,会首先花一些较少的篇幅介绍Redis的基本安装和使用,然后将深入Redis所支持的数据结构主要讲解Redis底层设计对这些数据结构的支撑,接下来会介绍Redis的主要配置优化事项,最后介绍Redis的集群搭建方式(基于3.X版本)和实施案例。

2016-12-04 11:08:35 8666 10

原创 架构设计:系统存储(14)——MySQL横向拆分与业务透明化(2)

上文提到MyCat的逻辑表支持多种分片规则,表现于schema配置文件中中table标签的rule属性。本节将以MyCat Version 1.6版为基础,介绍几种经常使用的分片规则,这些分片规则都通过rule.xml文件进行定义和配置。

2016-11-29 18:15:51 6003 4

原创 架构设计:系统存储(13)——MySQL横向拆分与业务透明化(1)

之前文章中我们介绍了如何使用MyCat进行读写分离,类似的关系型数据库的读写分离存储方案可以在保持上层业务系统透明度的基础上满足70%业务系统的数据承载规模要求和性能要求。但是这个方案也有一个明显的问题,那就是它没有解决数据存储规模的瓶颈。如果单个节点上某个单表的数据规模超过了千万级,那么这个节点的读操作也会产生性能瓶颈。所以我们还需要进一步使用MyCat的分片技术对业务数据表进行横向拆分。

2016-11-29 18:12:13 6771 2

原创 架构设计:系统存储(12)——MySQL主从方案业务连接透明化(中)

如果数据库中单张数据表的规模达到了亿级(甚至以上),那么查询压力集中在一个读节点上也不会再有助于查询性能提升。所以在必要的情况下,我们还需要继续对上文给出的MySQL集群方案进行改进,让其能够适应更庞大的结构化数据规模。具体的思路就是在保持读写分离方案的基础上,对业务系统中结构化数据量达到或者超过亿级规模的若干张业务表进行拆分工作。本篇文章向读者介绍一个由国人开发并完全免费发布的数据库中间件,MyCat。

2016-11-10 16:37:42 11546 2

原创 架构设计:系统存储(11)——MySQL主从方案业务连接透明化(上)

在之前的文章中,我们提到MySQL一主多从集群模式下,对上层业务系统的访问带来了一些问题。本编文章中我们将深入分析这个问题,并介绍如何对这个问题进行改进。MySQL一主多从集群对上层业务系统带来的主要问题是,**上层业务系统需要自行控制本次MySQL数据操作需要访问MySQL集群中的哪个节点**。产生这个问题的主要原因,是因为**MySQL一主多从集群本身并没有提供现成功能,将集群中的节点打包成统一服务并向外提供**

2016-11-04 11:11:53 6872 9

原创 架构设计:系统存储(10)——MySQL简单主从方案及暴露的问题

从本篇文章开始我们将花一定的篇幅向读者介绍MySQL的各种服务集群的搭建方式。大致的讨论思路是从最简的MySQL主从方案开始介绍,通过这种方案的不足延伸出更复杂的集群方案,并介绍后者是如何针对这些不足进行改进的。MySQL的集群技术方案特别多,这几篇文章会选择一些典型的集群方案向读者进行介绍。

2016-10-31 11:12:29 22891 19

原创 西安大唐提车游记——感受古都容颜

最近一周都没有更新博客,甚至有几天都没有刷过博客。原因是本人修了一周年假,去西安提新车并且旅游了一番。作为一个千年屌丝,笔者经常到CSDN写点东西,那么旅游 + 提车这个事情肯定也是要写写滴,只不过这边文章肯定就不放技术板块了,放在综合板块。主文章是本人在汽车之家上发的,然后部分转载到CSDN我的博客中。

2016-10-23 15:26:53 4422 7

原创 架构设计:系统存储(9)——MySQL数据库性能优化(5)

为了帮助开发人员根据数据表中现有索引情况,了解自己编写的SQL的执行过程、优化SQL结构,MySQL提供了一套分析功能叫做SQL执行计划(explain)。本文我们就为大家介绍一下执行计划功能的使用。

2016-10-12 16:19:01 8694 6

使用业务抽象思想设计的具有低耦合性的组织机构模块(示例)

对应业务抽象专栏低6、7、8三篇文章 其中有两个目录 simple-org:存放示例组织机构模块的完整代码 simple-for-org-boot:存放应用程序启动脚手架(使用spring-boot)

2023-12-11

命令模式实现事务补偿2

这个是最新的版本,之前那个上传的资源不完善,请不要下载。这是一个使用命令模式自行实现的事务补偿机制,用于跨平台多原子服务协调调用异常时的逆向操作。

2017-02-08

命令模式实现事务补偿

这是一个使用命令模式自行实现的事务补偿机制,用于跨平台多原子服务协调调用异常时的逆向操作。

2017-02-03

图片服务系统工程代码

这个图片服务系统工程代码配合我的博文http://blog.csdn.net/yinwenjie/article/details/54016015进行下载阅读。

2017-01-18

自己设计ESB组件的主要代码

这个资源是我的专题“系统间通信”中第41篇到44篇文章的主要代码。其中包含了ESB-Client的主要代码和ESB-Broker的主要代码。详细的资源说明可以查看我的博客:http://blog.csdn.net/yinwenjie/article/details/52141093

2016-08-11

OASIS Advanced Message Queueing Protocol (AMQP) Version 1.0

ISO/IEC组织定义的AMQP协议的标准规范。目前版本号为version 1.0

2016-03-14

zookeeper + thrift实现的RPC 服务治理框架演示

服务治理框架,一般存在与RPC的上一层,用来在大量RPC服务至上,协调客户端和服务器的调用工作。这个示例工程和我的博客《架构设计:系统间通信(13)——RPC实例Apache Thrift 下篇》(http://blog.csdn.net/yinwenjie/article/details/49869535)相对应。相关的设计和代码说明,请参见我的博客。另外,工程已经测试过了,可以直接下载导入eclipse运行,您需要maven的支持。

2015-11-22

空空如也

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

TA关注的人

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