`
javatracker
  • 浏览: 24759 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
    最近一直比较忙,前面设计的架构基本有了雏形,最近工作重心发生了点转变,偷闲来继续前面的话题;    这一篇博客准备聊聊消息系统,消息中间件对目前大中型互联网来说是非常重要的,在业务数据流动中仅次于RPC服务调用,担负着越来越复杂的网站业务从主流程上解耦的重要责任;    从目前互联网对消息中间件的需求来看应该分为两种类型,一种是和钱相关的需求,一种是和钱无关的需求;和钱相关的需求消息的可靠性是放在第一位的,和钱无关的需求是速度放在第一位的,但这两种需求又是矛盾的,很难设计出一种既可靠又高效的系统,除非将两套方案捏合成一个系统,通过配置来选择不同方案,但从实现上说还是两种实现。所以目前 ...
     随着网络流量爆发式增长,几百人维护一个项目将是一个可怕的噩梦,业务拆分势在必行。拆分的业务形成一个个独立的系统,系统间的协调又变成了一个棘手的问题,所以维护这些系统间协调关系的分布式环境组件将发挥至关重要的作用。     由于拆分后的系统部署于不同机器的不同集群之中,系统间的协作要靠通信来解决,所以分布式环境组件必须解决数据流的问题。根据不同的场景,数据流又分构建于远程调用框架(如RMI、Hessian、ICE、JNDI实现等)之上的即时调用数据流,构建于消息中间件之上的异步消息(持久或非持久)数据流,构建于数据拆分组件(分库分表、读写分离等)之上的存储数据流,构建于集群系统控制( ...
    目前互联网飞速发展,各种编程语言不断出现,越来越多的互联网创业团队选择这些具有高效开发效率语言,如Ruby、PHP、.Net等,而Java这种看起来比较笨重的语言似乎在互联网领域越来越落寞。     然而随着公司的发展 ...
      经过一个半月的编码,自己开发的分布式通信框架终于有了基本的雏形,采用TCP/IP协议,用Netty框架实现底层通信,序列化方式支持JDK自带的方式、支持Hessian、也支持Protobuf和Thrift,一般Java调Java用Hessian和Jdk序列化比较方便,直接将服务端注册,客户端生成代理即可使用。Protobuf和Thrift是为了应对跨语言调用准备的,可以通过伪代码生成业务依赖(接口、参数、返回值、异常等)。框架初步具备了负载均衡和容错,可以路由到具体的重载方法。目前只支持同步调用,后续将支持回调异步、Future异步和Oneway异步。         之所以要自 ...
     很久没写过博客了,现在看看自己以前写的东西,感觉起来实现方法比较丑陋,不过这也是个人的成长轨迹,每个阶段对同一件事情都有不同的理解。        最近涉及到一个网站系统的整体改造,从单一集中式的系统向分布式系统转变,有幸参与其中,记录走过的点滴和个人感悟。        准备从两个方面分析,一个是业务系统,一个是底层框架中间件系统;        业务系统主要是垂直拆分和水平拆分问题;        底层系统目前主要解决分布式情况下的数据流问题:        1、分布式数据层 ------------------ 解决数据库数据流问题;      2、分布式服 ...
    由于最近比较忙,JDStream的开发没太多进展,JMX和JGroups简单集成了进来,还没有来的及做和其他插件的通信操作,JNDI做了基本的实现,远程调用在等待RMI工厂的支持。RMI工厂实现了JRMP的同步和异步操作,还有几个地方需要验证,还有IIOP要实现。事务、安全和JDBC封装做了些准备,但感觉做起来有点吃力,现在SSH风靡一时,由于工作方面并没有用到过,只写过HelloWorld,现在决定先停下来把Spring和Hibernate的源码粗略的读一遍,上面几个方面的实现参考一下这两个框架的实现,存在即合理,既然ssh这么风行,我没有理由排斥它们。      “做一个自己的App ...
     Guice和PicoContainer的比较       感谢mineral在此系列博客的上一篇当中推荐的IOC容器Guice,没来得及看源码,初步了解了一下,发现Guice确实有自己的独到之处,它和Spring的最大区别应该是构造够轻量,设计够巧妙,配置够 ...
    JBoss4及其以前的版本主要是用JMX做为系统总线来管理插件,好处是显而易见的,可是随着IOC的发展,JMX作为容器插件也有很多不足,比如JMX作为容器过于复杂,与业务程序耦合过多,不够POJO,所以JBoss5有所改进,它用JBoss Mi ...
     一直以来总是有一种紧迫感,想尽力去弥补那些逝去的岁月。可是知识可以积累,经验就没那么容易积累了,另外人都有惰性,上班的时间可以十分投入,一旦下班往往就没了状态。所以我总是给自己业余时间定个目标,有了目标,就有了方向,就可以逼迫自己坐下来去深入技术,再慢慢进入状态,形成良性循环。       最开始给自己定的几个目标都没能坚持下来,一方面是那时自己很多技术确实没有太多概念,另外与工作也基本无关,所以研究了一段时间后也就不了了之了。       就在多半年前深入了解了下公司的一个底层RPC框架,主要就是一个包括数据库连接池、模块池、类似mina的socket模块、rmi同步和异步调用这些功 ...
Global site tag (gtag.js) - Google Analytics