作为一个技术人员,你是否在为不断增长的数据量和日益复杂的业务逻辑而头疼不已,杂乱堆砌在一起的庞大业务让系统越来越脆弱,于是你想到了网格,想到了利用分布式来重组一个健壮的系统架构. 随后,RMI,EJB,  WebService,Hessian,http invoke-..一堆名词铺天盖地的向你袭来.面对这么多的技术实现,我们似乎有点难以抉择.EJB太过笨重,webservice的性能似乎有待商榷.http invoker似乎还不如webservice,Hession的功能似乎又太过简单-. 一个…
一:Helios是什么 Helios是一套高性能的Socket通信中间件,使用C#编写.Helios的开发受到Netty的启发,使用非阻塞的事件驱动模型架构来实现高并发高吞吐量.Helios为我们大大的简化了Socket编程,它已经为我们处理好了高并发情况下的解包,粘包,buffer管理等等. GitHub:https://github.com/helios-io/helios/ 为避免误会特别提示:helios不是本人作品,小弟还在努力的路上. 二:Helios的特点 1.Powerful A…
.ICE是什么? ICE是ZEROC的开源通信协议产品,它的全称是:The Internet Communications Engine,翻译为中文是互联网通信引擎,是一个面向对象的中间件,使我们能够以最小的代价构建分布式应用程序.ICE使我们专注于应用逻辑的开发,它来处理所有底层的网络接口编程,这样我们就不用去考虑这样的细节:打开网络连接.网络数据传输的序列化与反序列化.连接失败的尝试次数等. 2.为什么会有ICE?  ICE是分布式应用的一种比较好的解决方案,虽然现在也有一些比较流行的分布式…
上篇文章总结了<深入实践Spring Boot>的第一部分,这篇文章介绍第二部分:分布式应用开发,以及怎么构建一个高性能的服务平台. 主要从以下几个方面总结: Spring Boot SSO 使用分布式文件系统 云应用开发 构建高性能的服务平台 Spring Boot SSO 上篇文章提到了安全设计,使用Spring Security进行用户验证和权限验证,但一个企业级的应用系统可能存在很多应用系统,每个应用系统都需要设计安全管理,但不可能为每一个应用系统都设计一套安全管理,这样不但耗时耗力,…
用Netty开发中间件:网络编程基础 <Netty权威指南>在网上的评价不是很高,尤其是第一版,第二版能稍好些?入手后快速翻看了大半本,不免还是想对<Netty权威指南(第二版)>吐槽一下: 前半本的代码排版太糟糕了,简直就是直接打印Word的版式似的.源码解析部分的条理性和代码排版好多了,感觉比其他部分的质量高多了. 如果你是初学者可能会感觉很详细,几乎每部分都会来一套客户端和服务端的Demo,如果你不是入门者的话可能会感觉水分比较多. 最后一部分高级特性,内容有些混乱,不少内容…
ICE(Internet Communications Engine)是Zeroc提供的一款高性能的中间件.使用ICE能使得php(或c++,java,python)与java,c++,.net,python等进行交互.基于ICE可以实现电信级的解决方案. 1第一个问题:为什么要使用中间件? 设想一个这样的场景:对于一个大型网站来说,往往有很多个web服务器,每个web服务器都存在很多对于数据库的操作.如果直接在php程序上直接操作数据库,那么势必要在每台web服务器都配置数据库的用户名,密码等…
用Netty开发中间件:高并发性能优化 最近在写一个后台中间件的原型,主要是做消息的分发和透传.因为要用Java实现,所以网络通信框架的第一选择当然就是Netty了,使用的是Netty 4版本.Netty果然效率很高,不用做太多努力就能达到一个比较高的tps.但使用过程中也碰到了一些问题,个人觉得都是比较经典而在网上又不太容易查找到相关资料的问题,所以在此总结一下. 1.Context Switch过高 压测时用nmon监控内核,发现Context Switch高达30w+.这明显不正常,但JV…
DOM编程可能最耗时的地方,重排和重绘. 1.什么是重排和重绘 浏览器下载完页面中的所有组件——HTML标记.JavaScript.CSS.图片之后会解析生成两个内部数据结构——DOM树和渲染树. DOM树表示页面结构,渲染树表示DOM节点如何显示.DOM树中的每一个需要显示的节点在渲染树种至少存在一个对应的节点(隐藏的DOM元素disply值为none 在渲染树中没有对应的节点).渲染树中的节点被称为“帧”或“盒“,符合CSS模型的定义,理解页面元素为一个具有填充,边距,边框和位置的盒子.一旦…
用Netty开发中间件:高并发性能优化 最近在写一个后台中间件的原型,主要是做消息的分发和透传.因为要用Java实现,所以网络通信框架的第一选择当然就是Netty了,使用的是Netty 4版本.Netty果然效率很高,不用做太多努力就能达到一个比较高的tps.但使用过程中也碰到了一些问题,个人觉得都是比较经典而在网上又不太容易查找到相关资料的问题,所以在此总结一下. 1.Context Switch过高 压测时用nmon监控内核,发现Context Switch高达30w+.这明显不正常,但JV…
openresty开发系列12--lua介绍及常用数据类型简介 lua介绍  1993 年在巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro in Brazil)诞生了一门编程语言,发明者是该校的三位研究人员,他们给这门语言取了个浪漫的名字——Lua,在葡萄牙语里代表美丽的月亮.事实证明她没有糟蹋这个优美的单词,Lua 语言正如它名字所预示的那样成长为一门简洁.优雅且富有乐趣的语言.  Lua 从一开始就是作为一门方便嵌入…