架构之魂
文章平均质量分 74
沙加神
I like to program and write stuff, making things a reality always make me excited.I love open source and I spend most of spare time studying and contributing to it
展开
-
架构那点事系列二 - 大话3D
近几年,架构领域兴起了很多新型架构思想。DDD成为继OOD之后又一个被人津津乐道的设计风格。.这里结合自己工作实践,和大家分享一下自己的DDD实践观,首先向大家推荐一篇关于DDD的文章(http://msdn.microsoft.com/en-us/magazine/hh547108.aspx.看看微软的卓越工作,从DataTable到EntityObject. - Net 4.0来了,随之为原创 2012-01-18 12:12:52 · 1299 阅读 · 0 评论 -
MOM系列文章之 - zero copy 那些事(上)
最近准备了两篇文章,主要是针对MOM中的关键技术zero copy进行一些介绍。 在基于文件存储的Kafka,ActiveMQ以及其它诸如Hornetq,Kestrel中的Journal设计实现中,无不见zero copy的神威。希望通过这两篇文章的介绍,能够为大家解开zero copy的神秘面纱,也希望大家能够喜欢。 这篇文章主要聚焦在zero copy的基础部分。首原创 2014-02-26 20:30:43 · 3697 阅读 · 0 评论 -
玩转Netty – 从Netty3升级到Netty4
这篇文章主要和大家分享一下,在我们基础软件升级过程中遇到的经典Netty问题。当然,官方资料也许是一个更好的补充。另外,大家如果对Netty及其Grizzly架构以及源码有疑问的,欢迎交流。后续会为大家奉献我们基于Grizzly和Netty构建的RPC框架的更多的内幕,希望大家能够喜欢!原创 2014-11-04 20:03:09 · 6468 阅读 · 0 评论 -
分布式通讯优化篇 – IRQ affinity
在一次C500K性能压测过程中,发现一个问题:8 processor的CPU,负载基本集中在CPU0,并且负载达到70以上,并通过mpstat发现CPU0每秒总中断(%irq+%soft)次数比较高。基于对此问题的研究,解决和思考,便有了这篇文章,希望大家能够喜欢,也欢迎大家留言讨论。原创 2014-11-10 19:44:26 · 3108 阅读 · 0 评论 -
关乎性能的思考
现在工程师们越发的喜欢谈性能(CPU, memery, IO, container, middleware等),性能调优似乎也成为软件行业基础架构师越来越倚重的技艺之一。通常情况下,性能shooting也无外乎分为几个过程。其一,performance diagnostic & bottleneck positioning,这一步往往是关键,当然手法也是千奇百怪,这里不做赘述。第二,perform原创 2012-08-28 00:14:26 · 8690 阅读 · 14 评论 -
精通组件兼容性依赖
<<精通组件兼容性依赖>>,这篇文章首先从Java语言层面阐述了什么是兼容性,JDK是如何处理兼容性的?然后提出了一个最佳实践路线图,首先要保证你的组件包是面向接口编程的,别人可以稳定地依赖你的接口,而实现可以采用动态发现的机制去做。原创 2014-10-28 15:08:02 · 2006 阅读 · 0 评论 -
APNS 那些事!
之前在消息推送中间件APush里实现了对APNS的桥接,并利用业余时间阅读了官方指南Local and Push Notification Programming Guide,蛮有心得的。稍作总结,分享给大家,希望能够喜欢,欢迎留言讨论!原创 2014-08-19 20:34:37 · 4514 阅读 · 0 评论 -
MOM系列文章之 - MQ可运维性
本来打算近期分享一篇如何“造”轮子原创 2014-08-14 19:42:23 · 2193 阅读 · 0 评论 -
Docker初体验
Docker这玩意流行已经有一阵子,之前一直不愿意去碰它,是觉得它还不够稳定。虽说各类软文铺天盖地,什么Paas微服务,容器引擎,轻量级虚拟机(当然底层的cgroups,lxc技术早已耳熟能详)等等,对这些往往不置可否,原因只有一个:大规模工业级场景应用还未曾出现,或者说未曾亲历。 时间来到了最近,由于工作需求,需要做一些MQ镜像,所以系统化的学习了Docker(当然,催生我系统化学习的动力不仅是要深度使用它,还有Go语言这两年本身的实践魅力)。这篇文章简单记录了Docker的一些使用心得及其原创 2015-01-20 15:58:34 · 7507 阅读 · 0 评论 -
架构那点事系列四 - Maven优化篇
Ant的出现,填补了Java领域 compile kit的空白。而Maven的出现,则算是更近了一步(除了它之外,还有比较著名的同类编译套件IVY等)。构建在之上的CI(Sonar,Hudson,Jenkins等)构件为我们的项目管理带来了极大的方便。这篇文章,源自于工作中Maven的一些高级特性应用,开发后的不断思考,总结。希望能给大家带来一些帮助。 学习一门技术,先要了解它的历原创 2012-02-07 19:17:36 · 1827 阅读 · 0 评论 -
MOM系列文章之 - Final Consistency 讨论
消息中间件的最终一致性如何保证?架构上面,主要考虑以下几个方面: 1。事务同步; 2。消息缓存or持久化; 3。定时钟轮询 事务同步很好理解。我的消息总不能在事务提交前发出去吧?为此,架构设计中我们通常这么干: public boolean publish(AsyncEvent event) { bool原创 2012-02-28 19:45:43 · 968 阅读 · 0 评论 -
Webx源码研读心得
之前,一直对Webx的印象是厚重,n多无厘头的默认契约等等。最近一段时间,构建在之上的应用安全问题频出,于是花了一些时间,研究了其Spring ext部分的源码,虽说有spring源码知识的基础,不过研究Webx的过程中,还是让人受益匪浅,也慢慢改变了之前的一些看法。这里我摘录下自己研究源码时的带着的疑问,感兴趣的同学可以留言一同讨论,看看有没有更优的实现。1. Webx中是如何做到诸如:原创 2013-07-25 14:19:40 · 1979 阅读 · 0 评论 -
架构那点事系列三 - 由EAI到ESB
最近在梳理公司的EAI平台 — JCAPS,顺便翻阅了一些“历史”文献,梳理成文,希望能加深大家对SOA的认识。 ESB 是软件行业的下一代集成产品的名称。ESB 沿用企业应用程序集成 (EAI) 的技术道路前行,在改进 EAI 中的某些技术环节的同时,采用了 EAI 技术中的更为有效的方面。尽管 EAI 和 ESB 的目标相同,但是在技术体系结构方面,这两项产品的区别仍很大。原创 2012-03-15 12:49:08 · 2633 阅读 · 0 评论 -
RBAC在CSD下的参考实现
序言: 权限模块是MIS系统中不可或缺的重要组成。员工在进行正常的访问前,服务器往往都需要认证员工的身份。确认员工是否授权,也就是进行访问控制。访问控制管理允许被授权的主体(个体或团体组织)对某些资源的访问,同时拒绝向非授权的主体提供服务。权限模块的逻辑模型一般形式如下: 谁(员工/角色)对什么(应用模块)是否具有某种操作的授权(授权状态:grant、deny原创 2012-03-15 19:39:08 · 1355 阅读 · 1 评论 -
架构那点事系列一 - 设计模式前章
----能够正视失败和错误,而不回避和掩盖,正是职业架构师的宝贵素养!!! 首先,我们需要明白的是何为架构,以我看来,架构更多关注的是高层设计(所谓的high-level Design),它是一组有关如何确定软件系统的组织机构的重要决策。感兴趣的朋友可以查看这篇文章来深入理解一下架构的概念(http://baike.baidu.com/view/1147116.htm?fr=原创 2012-03-10 18:16:18 · 8203 阅读 · 22 评论 -
软件框架设计之美
这篇文章可以看做是Apress出版的那本>进阶阅读。欢迎大家留言,一同分享自己的心得体会~ 软件大师Robert Martin早在1994年的论文中就提到了OO设计度量准则,站在可维护性(Maintainablity),可扩展性(Extensibility),可重用性(Resuability)的角度上,提出了著名的稳定抽象等价原则。随后几年,在Java领域出现了著名的Jdepen原创 2012-03-21 13:11:38 · 1329 阅读 · 0 评论 -
深入理解Java调试体系
最近在做服务器启动调优的过程中,重温了一下IBM tech wiki上的JPDA系列文章,这里放出来和大家分享,欢迎大家留言讨论~1. 第一部曲http://www.ibm.com/developerworks/cn/java/j-lo-jpda1/2. 第二部曲http://www.ibm.com/developerworks/cn/java/j-lo-jpda2/3原创 2012-05-28 18:44:07 · 961 阅读 · 0 评论 -
开发那点事系列三 - 由XML解析引起的API设计思考
谈起XML解析,大家可能第一反应是DOM,SAX模型。没错,在Java领域,无论是Dom4j, Jdom,还是XOM,其底层都会依赖具体的解析器引擎(Crimson or Xerces)去做事,具体的实现后面会有文章陆续探究。今天写这篇文章的主要目的是想和大家分享自己使用Java SE6的StAX API的一些感受,尤其是对其API的设计理念的一个思考,没多少文字,主要是一些启发性的东东。当然,在原创 2012-03-13 22:59:52 · 1047 阅读 · 0 评论 -
Spring 设计理念探讨系列一
一直想写这么一篇文章,来总结一下近几年来自己对Spring的理解(包括源码赏析,模式挖掘, 扩展实践等)。最近在做一个多级反馈队列的设计,刚好是构建在Spring之上。趁此机会写下这篇文章,希望大家多提宝贵意见。同时,为了不落俗套(分析Spring源码的文章已经泛滥了,但大多至于流程推敲,蕴含在其中的设计哲学往往少有人问津),这里采用正反推演的方法进行分析,目的很明确,将其中蕴含的设计理念一一“拖原创 2012-01-08 17:26:37 · 1367 阅读 · 1 评论 -
Mind,Diagram,Design
最近在设计新版的流程渲染引擎,考虑采用无损失放缩的矢量图SVG去搞,从技术调研到实现蛮有心得的,这里贴出自己的设计思路,欢迎拍砖~ 首先说下诉求,简单说就是绘制流程地图。其次简单列举下需要注意的技术点:(1) 图形元素和坐标元素解析(合并or分拆)(2) DOM树解析,原生JAXP,DOM4J or SVG DOM utils(混用会带来很多问题)(3) REST S原创 2012-12-04 21:00:49 · 1443 阅读 · 0 评论 -
Memcached实施心得
说的Memcached,大家都不会陌生,前阵子在项目中搭建了一套集群环境,运行至今,通过top-memcached监控,各个指标表现平稳。加上之前交易平台中的一些Memcached实施经验,便整理写下了此文,如果有不准确的,欢迎拍砖~memcached是怎么工作的?memcached内存管理的机制是?memcached最大的优势是什么?memcached和MySQL的query原创 2013-07-25 16:20:34 · 2215 阅读 · 1 评论 -
Spring Boot POM 详解
正如这幅图所展示的那样,在Spring IO Framework体系中,Spring Boot处在Execution layer,来看看官方对这层的解释:The Spring IO Execution layer provides domain-specific runtimes (DSRs) for applications built on the IO Foundation modules. A DSR may run standalone without requiring deployment原创 2014-12-19 16:19:59 · 9376 阅读 · 0 评论