框架设计
文章平均质量分 94
丶丶路遥
这个作者很懒,什么都没留下…
展开
-
手写Jedis
简介Redis缓存技术常备作为互联网架构中的热点技术,常用来提升系统的性能,常被应用在一些读多写少的场景。Jedis基于Java实现,通过Jedis底层的协议,我们很简单就可以访问Redis服务器,如Redis中的Set、keys、get等命令。本文将简单模拟Jedis的实现。原理Redis使用RESP协议,其描述如下:Jedis协议地址验证:我们可以手写一个ServerSocket...原创 2019-11-13 22:04:07 · 166 阅读 · 0 评论 -
一种安全高效的文件传输协议设计
介绍随着3G、4G、5G的发展,使得文件传输变得轻而易举,我们可以随时随地地进行文件传输,与好友之间,与云服务器之间。文件的传输,意味着一个数据信息需要在网络上暴露,当受到恶意攻击时,导致数据泄露,造成一些不可磨灭的灾难。因此,文件的安全传输是一个值得探讨的问题。1、加密技术,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已知的加密信息,但因不知解密的方法,仍然无法了解信息内...原创 2019-11-01 19:44:20 · 2042 阅读 · 4 评论 -
手写Dubbo
介绍Dubbo作为一种RPC框架,极大的提高了程序的开发效率,其底层采用NIO模型,因此其支持IO密集的RPC远程服务。本文剖析了Dubbo的实现了,首先了其核心部分的代码,主要有服务提供者,服务消费者,以及注册中心三个部分。底层采用Netty和Http两种通信协议,实现了类似真实Dubbo的一个简易版框架。本实验中Dubbo的三个组成部分事实上,Dubbo有4个组成部分,但是本实验为了简单...原创 2019-06-03 22:34:10 · 353 阅读 · 0 评论 -
一个简单的线程池的实现
介绍线程池技术是用来解决高并发,合理利用服务器资源的技术,另外线程池技术无需每次重新创建一个线程,提高了任务的执行效率。如同多线程异步发起请求。本文介绍一个简单线程池的实现,启用多个Worker(extends Runnable)线程,用一个任务(extends Runnable)队列来维护所有的任务,每执行一个任务,即在Worker中调用任务的run()方法即可。代码实现线程池抽象pu...原创 2019-04-03 23:49:39 · 318 阅读 · 1 评论 -
实现一个简单的连接池
介绍数据库连接是一种关键的、有限的、昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池不仅避免了并发数过多导致连接数溢出的问题,而且能够有效的利用连接资源,对数据库的操作无需每次建立连接,只需从池中获取连接即可。代码实现(Java)...原创 2019-04-03 11:04:54 · 481 阅读 · 1 评论