首先对于RPC来讲,最主要的无非三点[SERVER IO模型].[序列化协议].[client连接池复用],之前的博客大家应该对thrift有一个大致的了解了,那么我们现在来说一说如何将thrift的序列化和传输使用到生产中.先放一张作者自己写的一个rpc架构图. 分成几个主要部分: 1:server启动zk注册 2:client监听watch节点变动维护本地缓存,构建tcp连接池. 3:通过java aop代理获得接口代理实现,从而通过thrift序列化传输二进制自定义协议的字节流 4:ser…
上节说了关于通用请求代理,实际上对spring的bean引用都是通过koalasClientProxy来实现的,那么在代理方法中才是我们实际的发送逻辑,咱们先看一下原生的thrift请求是什么样的. public void startClient(String userName) { TTransport transport = null; try { //transport = new TSocket(SERVER_IP, SERVER_PORT, TIMEOUT); transport =…
http://www.toobug.net/article/how_to_design_front_end_template_engine.html http://barretlee.com/websocket-with-node/ 只有20行Javascript代码!手把手教你写一个页面模板引擎 2014/01/22 | 分类: WEB开发 | 2 条评论 | 标签: JAVASCRIPT, WEB开发, 工具, 模板引擎 分享到:27 本文由 伯乐在线 - njuyz 翻译自 Tech.pr…
半个小时教你写一个装(bi)逼(she)之地图搜租房 首先需要一个Python3环境,怎么准备我就不多说了,实在不会的出门右转看一下廖雪峰老师的博客. HTML部分 代码来自:高德API+Python解决租房问题,简单改了下加载数据部分 代码路径:/static/index.html <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible"…
[vps]教你写一个自己的随机图API 前言 刚刚开始使用halo博客的时候,我就发现halo博客系统是可以使用随机图当背景的,所以也是使用了网上一些比较火的随机图API. 在上次发现了各种图片API接口之后,我发现这些接口都是使用随机图的原理的,然后大部分的随机图都是二次元浓度过高,自己是有点受不了的,所以准备自己写一个随机图的API接口.正好最近的vps备案成功了,就写一个API网页吧. 1.寻找图片 这一步肯定是不用多说的,自己就是因为嫌弃以前使用的api二次元浓度太高了,所以想自己找一些…
生成sql:where 上一篇里我们实现了生成insert的sql,下面要开始实现update,delete,select的sql语句了.但是这些语句有一个比较麻烦的地方是:它们一般后面都会有where条件,因为在执行的时候不能把表里所有的数据都进行操作. 所以这里我们需要先生成条件的sql.大概是这样的: WHERE id = ? AND name != ? OR age >= ? where 后面的参数继续用 "?" 代替.值就放在一个有序的集合中就好了.类似上一篇提到的in…
写之前的说明 其实吧. 这个东西已经写好了,地址在:https://github.com/hjx601496320/JdbcPlus 这系列文章算是我写的过程的总结吧.(恩系列,说明我可能会写好久,╮(╯▽╰)╭) 现在有很多的现成的orm框架,为什么还要自己写一个? 框架这种东西个人认为想要了解其中的原理,还是要自己尝试实现一个来的比较快.我是那种不爱看源码的程序员,除非是有些地方实在没有思路或者网上也找不到相关的文章,否则是不会去看源码的.懒--~ 写这个的目的是什么? 现在流行的orm比如…
1.1 RPC 是什么 定义:RPC(Remote Procedure Call Protocol)--远程过程调用协议 ,RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据.在OSI网络通信模型中,RPC跨越了传输层和应用层 ,RPC使得开发包括网络分布式多程序在内的应用程序更加容易. 我的理解:与其说把RPC 看作是一种协议,倒不如把 它看作是一种 客户机/服务器交互的模式,但是 RPC一定是基于 TCP 或者 其他 通信协议的 下面我们来看一下一个RPC调用的流…
分布式系统中的RPC请求经常出现乱序的情况.  写一个算法来将一个乱序的序列保序输出.例如,假设起始序号是1,对于(1, 2, 5, 8, 10, 4, 3, 6, 9, 7)这个序列,输出是:  1  2  3, 4, 5  6  7, 8, 9, 10 上述例子中,3到来的时候会发现4,5已经在了.因此将已经满足顺序的整个序列(3, 4, 5)输出为一行. 要求:  1. 写一个高效的算法完成上述功能,实现要尽可能的健壮.易于维护  2. 为该算法设计并实现单元测试 我的思路是:  假设输入…
目录 1,关于 Redis RESP 定义数据类型 2,定义异步消息状态机 3,定义命令发送模板 4,定义 Redis Client 5,实现简单的 RESP 解析 6,实现命令发送客户端 7,如何使用 8,更多客户端 9,更多测试 10,性能测试 11,关于 NCC 最近叶老板写了个 FreeRedis,功能强悍,性能惊人,比子弹更快,比引擎更有力,刚好前段时间在学习 Redis,于是跟风试试也写一个简单的 RedisClient. FreeRedis 项目地址:https://github.…