www.336770.com-336770.com-澳门威尼斯人彩金

编辑:站酷工作室 发布于2019-10-08 19:34

  www.336770.com-336770.com-澳门威尼斯人彩金摘要:先放出链接,喜欢的给个star:一:项目介绍 koalas-RPC 个人作品,提供大家交流学习,有意见请私信,欢迎拍砖。客户端采用thrift协议,服务端支持netty和thrift的TThreadedSelector阅读全文

  posted @ 2019-07-17 10:57 张玉龙 阅读 (85) 评论 (0)编辑

  摘要:直接硬核干货,去掉前戏。 方案大致说明 1:假设对redis中存在一对key,value的对应关系是 key=money,value=666 2:当修改线程修改key时先将key设置成value=666_write,(这里需要说明的是:线上实际应用可以将_wirte改成非常复杂的UUID等字符串,只阅读全文

  posted @ 2019-06-24 13:54 张玉龙 阅读 (301) 评论 (1)编辑

  摘要:作者实在是太懒了,想学习高阶RPC加群讨论吧 QQ群号:825199617。 源码地址:企业生产级百亿日PV高可用可拓展的RPC框架。理论上并发数量接近服务器带宽,客户端采用thrift协议,服务端支持netty和th阅读全文

  posted @ 2019-05-09 18:00 张玉龙 阅读 (173) 评论 (0)编辑

  JAVA RPC (七) 手把手从零教你写一个生产级RPC之client请求

  摘要:上节说了关于通用请求代理,实际上对spring的bean引用都是通过koalasClientProxy来实现的,那么在代理方法中才是我们实际的发送逻辑,咱们先看一下原生的thrift请求是什么样的。 用同步调用的例子来说明,首先需要new 一个TSocket对象,这个对象其实就是thrift维护的s阅读全文

  posted @ 2019-04-28 14:33 张玉龙 阅读 (109) 评论 (0)编辑

  JAVA RPC (六) 之手把手从零教你写一个生产级RPC之client的代理

  摘要:首先对于RPC来讲,最主要的无非三点【SERVER IO模型】、【序列化协议】、【client连接池复用】,之前的博客大家应该对thrift有一个大致的了解了,那么我们现在来说一说如何将thrift的序列化和传输使用到生产中。先放一张作者自己写的一个rpc架构图。 分成几个主要部分: 1:serve阅读全文

  posted @ 2019-04-25 20:04 张玉龙 阅读 (178) 评论 (0)编辑

  摘要:我们来看一下服务端的简单实现,直接上thrift代码,很直观的来看一看thrift的server到底干了些什么 这个地方代码就很清晰了,原来是从trans里面或取得字节流数据。 继续能翻到最终的代码解析部分 这里就很明显了,首先read一个四个字节的长度,这个int类型代表着后面要跟着接收的消息体的阅读全文

  posted @ 2019-04-07 13:10 张玉龙 阅读 (111) 评论 (0)编辑

  摘要:让大家久等了。继续更新thrift序列化的消息体,下面我们一步一步的看一看thrift的rpc是怎么实例化消息体的。 首先我们先准备一个request文件 一个respone文件 一个service文件 编译文件 生成的文件如下 自己写一个简单的RPC的例子 client server 自己的实现类阅读全文

  posted @ 2018-11-30 16:19 张玉龙 阅读 (161) 评论 (0)编辑

  摘要:先简单写一个thrift文件 本地通过thrift编译之后会生成一个java源文件。 编译口令 :thrift -gen javamytestrequest.thrift 编译后的源代码如下: 生成了一个500多行的代码,那么我们现在对这个请求对象进行序列化,看看序列化结果。 看一看对于这么个简单阅读全文

  posted @ 2018-11-30 15:02 张玉龙 阅读 (357) 评论 (0)编辑

  摘要:首先抱歉让大家久等了,最近工作的原因,再加上自己维护koalas rpc利用的大部分时间,一直没腾出空来写这篇文章。 先放出来自研的企业级RPC框架源代码地址,上面有使用方式和部署环境说明,说环境部署,其实只需要傻瓜式的安装一个zookeeper就可以了。 地址:阅读全文

  posted @ 2018-11-30 14:48 张玉龙 阅读 (228) 评论 (0)编辑

  摘要:前言:方案设计前提 一般账务系统对账户的冲扣需要满足以下两点 1:更新账户表中的账户余额。 2:记录账户明细表中的账户更新前余额,账户更新后余额,操作金额。 其中对账户表中的余额更新一般是直接update,对账户明细表中的操作前金额,操作后金额和操作金额就是对账户表update的记录 1:为什么做热阅读全文

  posted @ 2018-11-08 13:41 张玉龙 阅读 (1628) 评论 (2)编辑

  摘要:序列化和反序列化作为Java里一个较为基础的知识点,大家心里也有那么几句要说的,但我相信很多小伙伴掌握的也就是那么几句而已,如果再深究问一下Java如何实现序列化和反序列化的,就可能不知所措了!遥记当年也被问了这一个问题,自信满满的说了一大堆,什么是序列化、什么是反序列化、什么场景的时候才会用到等,阅读全文

  posted @ 2018-10-31 12:32 张玉龙 阅读 (297) 评论 (0)编辑

  摘要:为什么要写这个RPC 市面上常见的RPC框架很多,grpc,motan,dubbo等,但是随着越来越多的元素加入,复杂的架构设计等因素似使得这些框架就想spring一样,虽然号称是轻量级,但是用起来却是让我们很蹩脚,大量的配置,繁杂的API设计,其实,我们根本用不上这些东西!!! 我也算得上是在很多阅读全文

  posted @ 2018-10-30 10:57 张玉龙 阅读 (967) 评论 (7)编辑

  摘要:在我们的项目中遇到这样一个问题:我们的项目需要连接多个数据库,而且不同的客户在每次访问中根据需要会去访问不同的数据库。我们以往在spring和hibernate框架中总是配置一个数据源,因而sessionFactory的dataSource属性总是指向这个数据源并且恒定不变,所有DAO在使用sess阅读全文

  posted @ 2016-11-30 13:47 张玉龙 阅读 (215) 评论 (0)编辑

  摘要:notify()、notifyAll()、wait()属于g.Object,java.lang.Thread也是Object,自然也有上述方法; sleep()、interrupt()、interrupted()、join()、yield()属于java.lang.Thread wa阅读全文

  posted @ 2016-11-30 13:39 张玉龙 阅读 (172) 评论 (0)编辑

  摘要:数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。 √: 可能出现 : 不会出现 脏读 不可重复读 幻读 Read uncomm阅读全文

  posted @ 2016-11-30 13:30 张玉龙 阅读 (72) 评论 (0)编辑

  摘要:spring mvc+mybatis+多数据源切换 选取oracle,mysql作为例子切换数据源。oracle为默认数据源,在测试的action中,进行mysql和oracle的动态切换。 web.xml applicationContext.xml 配置 parentDataSource 的父b阅读全文

  posted @ 2016-11-30 13:04 张玉龙 阅读 (2651) 评论 (0)编辑

  摘要:在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰。 首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 filter 写在 liste阅读全文

  posted @ 2016-11-30 11:25 张玉龙 阅读 (168) 评论 (0)编辑

  SpringMVC + Spring + MyBatis 整合 + Spring shrio + easyUI + 权限管理框架,带shrio session和shrio cache集群实现方案

  摘要:工作之余先来写了一个不算规范的简单架子 基于spring mvc + spring + mybatis +Spring shrio 基于redis的集群方案 系统权限部分,分成多个机构,其中每个机构也有自己的子机构,子机构继承的部分权限,其中每个机构拥有自己的角色和用户,角色的权限是机构中的权限,阅读全文

  posted @ 2016-11-30 11:12 张玉龙 阅读 (691) 评论 (1)编辑

  摘要:对于数据排序大家肯定见过不少,选择排序或者冒泡排序等等,今天我们要做的是快速排序 + 直接插入排序来对大数据(1000万以上)进行排序,下面我们分别来看看这两种排序规则 1,直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1)[n=2] 个数已经是排 好顺序的,现在要把第n个数插阅读全文

  posted @ 2016-11-30 10:30 张玉龙 阅读 (2496) 评论 (0)编辑

  摘要:当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制。在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决。阅读全文

  posted @ 2016-11-29 11:57 张玉龙 阅读 (112) 评论 (0)编辑