[编织消息框架][rpc]使用篇】的更多相关文章

rpc 分两部份,一个是调用者,另一方是服务提供者 调用者只关心那个服务,传相应参数,返回内容就可以 而提供者根据调用相应服务同参数,工作处理后响应内容即可 根据他们的关系可以用JAVA 接口同实现类 来约束书写完成功能 @QModel(1) public interface ITestEnhance { @QCommond(1) public void a(double a); @QCommond(2) public void b(float a); @QCommond(3) public v…
eventLoop从命名上看是专门处理事件 事件系统主要由线程池同队列技术组成,有以下几个优点 1.任务出队有序执行,不会出现错乱,当然前提执行线程池只有一个 2.解偶系统复杂度,这是个经典的生产者/消费者模型,生产者只需要生成执行上下文需要的数据,消费者集中实现处理逻辑,无需要关注太多关系层次问题 3.可根据业务按单一类型事件独立分配一套event system ,提高并行处理而又解决一些并行产生的并发问题 那作为一个消息框架,处理的事件有那些呢? 主要分为系统事件同用户事件 如消息编解码.s…
动态代理这篇比较长,是框架组成的重要基础 回顾下学到的应用技术 1.异常应用 2.annotation技术 3.数值与逻辑分享 4.jdk.cglib.javassist等动态代理技术 5.懒处理.预处理.编译处理 6.rpc设计,与实现 7.扫描class 8.系统服务水平扩展支持…
OSI(Open System Interconnect),即开放式系统互联. 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互联模型. 该体系结构标准定义了网络互连的七层框架(物理层.数据链路层.网络层.传输层.会话层.表示层和应用层),即ISO开放系统互连参考模型. OSI网络体系结构各层协议: (1)应用层:TELNET.FTP.TFTP.SMTP.SNMP.HTTP.BOOTP.DHCP.DNS(2)表示层:                        …
基础部份: 接下来讲编译JAVA时,生成自定义class 我们用 javax.annotation.processing.AbstractProcessor 来处理 public abstract class AbstractProcessor implements Processor { protected ProcessingEnvironment processingEnv; public Set<String> getSupportedOptions() { SupportedOpti…
前面几篇介绍,终于到了应用阶段啦,我们来做一个RPC来加强学过的知识 做基础核心时先确定解决什么问题,提供什么服务,同将来扩展等 rpc 分两部份,一个是调用者,另一方是服务提供者 调用者只关心那个服务,传相应参数,返回内容就可以 而提供者根据调用相应服务同参数,工作处理后响应内容即可 根据他们的关系可以用JAVA 接口同实现类 来约束书写完成功能 另外说点流行的:微服务 微服务主要解决人员分配,快速开发交付项目,将一个项目所有服务拆分成一个个应用,每个服务就可以独立部署. 开发环节每人负责开发…
为什么要分离? 业务需求是不停地变,如果把条件写进代码里,当用户需求变时要改代码发版本更新才能生效,这过程无疑是漫长的 就算是在开发期,不停的变开发者精力耗光在沟通,小修改上,无法专注逻辑部分 分离的根本目的是让开发者专注写引擎部分,无需关注太多业务上的边界,条件等 需要分离什么类型数值? 如活动开启时间,购买满足条件,购买上限等 这些不确定用户具体需求,全都可以弄成动态获取 分离技术实现有很多 如使用数据库mysql等 linux 常用的配置文本config 表格csv,json文件等 本项目…
基础部份: 接下来讲编译JAVA时,生成自定义class 我们用 javax.annotation.processing.AbstractProcessor 来处理 public abstract class AbstractProcessor implements Processor { protected ProcessingEnvironment processingEnv; public Set<String> getSupportedOptions() { SupportedOpti…
既然跟网络内容有关就不得不学习网络IO模型,时代在进步,技术也在进步,采取使用那种网络IO模型就已经确定应用程序规模 阻塞IO(blocking IO) 在linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样: 图1 阻塞IO 大部分的IO接口都是阻塞型的.所谓阻塞型接口是指系统调用(一般是IO接口)不返回调用结果并让当前线程一直阻塞,只有当该系统调用获得结果或者超时出错时才返回. 当用户进程调用了recvfrom这个系统调用,kernel就开始了IO的…
JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序.设备.系统等植入管理功能的框架,使用的是RMI技术. 比较经典的应用jdk bin目录下 jconsole,jvisualvm 来看下如何使用jconsole简单使用 打开jconsole 菜单->新建连接 打开相应的应用程序,我们拿ServerRMI 接着测试. 选择线程选项RMI应用一共占了11个线程,每次运行线程数不是固定,接着运行ClientRMI 当运行client超过初始化线程数时,每…