วันอาทิตย์ที่ 12 เมษายน 2026
  • นโยบายความเป็นส่วนตัว
  • ติดต่อเรา
  • แผนผังเว็บไซท์
  • Login
กรุงเทพมหานคร
  • กรุงเทพมหานคร
  • ข่าว
  • กิจกรรม
  • หางาน
  • ธุรกิจ
  • ร้านค้า
  • วิถีชีวิต
    • คนสำคัญ
  • สถานที่ท่องเที่ยว
  • สถานศึกษา
  • ผู้สนับสนุนเว็บ
  • ติดต่อเรา
No Result
View All Result
  • กรุงเทพมหานคร
  • ข่าว
  • กิจกรรม
  • หางาน
  • ธุรกิจ
  • ร้านค้า
  • วิถีชีวิต
    • คนสำคัญ
  • สถานที่ท่องเที่ยว
  • สถานศึกษา
  • ผู้สนับสนุนเว็บ
  • ติดต่อเรา
No Result
View All Result
กรุงเทพมหานคร
No Result
View All Result
Home ข่าว

ICE-高效的中间件平台,牛刀小试

กรุงเทพ by กรุงเทพ
20 ปี ago
in ข่าว
Reading Time: 1min read
158
0
100
SHARES
199
VIEWS
Share on FacebookShare on TwitterSent to LINE friend

ICE(Internet Communications Engine)是ZeroC提供的一款高性能的中间件,基于ICE可以实现电信级的解决方案。前面我们提到过在设计网站架构的时候可以使用ICE实现对网站应用的基础对象操作,将基础对象操作和数据库操作封装在这一层,在业务逻辑层以及表现层(java,php,.net,python)进行更丰富的表现与操作,从而实现比较好的架构。基于ICE的数据层可以在未来方便的进行扩展。ICE支持分布式的部署管理,消息中间件,以及网格计算等等。

大道理讲完,言归正传,最近育儿网新增了不少新服务,服务间经常会需要相互调用数据,例如用户中心要取博客系统里的文章啊,论坛里发文后要在积分系统里增加用户积分啊。由于设计时这些服务仅仅基于统一的用户中心,服务间基本是独立的,所以要实现这些调用只能在每个服务上新增为其它服务提供服务的服务-_-!。这个时候有几个可选方案,我们开始选择了xml-rpc,基于http和xml的选程调用,用了一段时间,发现维护成本和访问性能都存在问题。

由于这些中间服务部署的时候是和各自所属的服务部署在一起的,对这些服务做整体的改动就非常困难,要维护起来就比较麻烦。另外由于是什么http和xml作为通信协议,由php实现业务逻辑,性能问题也很明显,而且这些http请求都会在http日志留下足迹,导致我们的日志分析很不精确。这个问题不是太大,但很郁闷,所以我们考虑使用ICE来解决这个问题,至于SOAP什么的就不考虑了,同样效率低下。

实现的过程还是比较顺利,花了三天的时间用c++实现了大部分常用的接口,服务端采用deamon的方式运行,错误日志记在syslog里(/var/log/messages),客户端PHP,编译进去了IcePHP,调用的方法很简单。现在还存在一些问题,运行的时候会异常退出,还需要一段时间来解决,暂时加了只狗看着,一旦进程里没了就重新启动。

既然要跨平台通讯,就涉及对象描述,ICE使用Slice来对结构,类,方法等进行定义。完了以后服务器端,客户端都按这个来调用和实现。ICE内置的Linux 下后台Deamon实现方案非常简单,只需要从Ice::Service里派生出一个类来,实现run方法,在这个方法里创建adapter对象,并在adapter对象里添加Servants,然后激活这个adapter就可以了,网络层的通信都由ICE接管了。由于是基于tcp/ip的直接通信,比更高层的http通信效率要高很多。

在客户端实现时,我们也碰到了一些小麻烦。一个是内置的$ICE对象用的时候有时需要用global声明,否则可能会出错,另外由于默认情况下Slice中struct对应到php的类型是一个类的实例,而不是一个数组,所以在赋值给页面的时候,smarttemplate以及其它模板系统中可能都会存在问题,可以通过修改模板系统的数据赋值显示代码解决。

我们做了一些性能的测试,同样运行1千次请求,使用xml-rpc实现需要28秒左右,使用ICE实现,只需要3秒多,性能的差距还是很大的,同时在这个过程中没发现有内存泄露的情况,效果还比较理想。

最后感慨一下,ICE是适合人类使用的中间件!

Previous Post

mixi.jp:使用开源软件搭建的可扩展SNS网站

Next Post

初创网站与开源软件

กรุงเทพ

กรุงเทพ

กรุงเทพฯ ดุจเทพสร้าง เมืองศูนย์กลางการปกครอง วัดวังงามเรืองรอง เมืองหลวงของประเทศไทย

Next Post

初创网站与开源软件

บทความแนะนำ

สยอง! คนขับกระบะส่งพัสดุบริษัทชื่อดังหลับในข้ามเลนพุ่งชนประสานงาปาเจโร่ ดับคารถ 3 ศพ

สาวขาย BMW ซื้อรถไฟฟ้าจดทะเบียนไม่ได้ แจ้ง ตร.แล้ว ล่าสุดศูนย์จำหน่ายติดต่อพารถตรวจ กทม.เดือนหน้า

สุดรันทด! 16 ชีวิตอยู่บ้านหลังเดียวกัน อดมื้อกินมื้อ เด็กบางคนต้องหยุดเรียนหนังสือ

หนุ่มอ้างเป็นผู้กอง บอกโดนแอบถ่ายเปลือยคาห้องน้ำปั๊มน้ำมันลี้ลำพูน คนไม่รู้จัก-ไร้ชื่อในสารบบ!

แม่ทุกข์! ช่างตัดผมผิดทรง ไถหัวลูกสาวจนเกรียน หมดความมั่นใจ-ไม่อยากไปเรียน

เผยไม่พบสติกเกอร์ส่วยติดหน้ารถแล้วบริเวณสถานีตรวจสอบน้ำหนักสรรพยา คาดดึงออกไปหมดแล้ว

ไรเดอร์หัวร้อน เบื่อรถยางรั่ว จุดไฟเผาทิ้งระบายเครียด

ตร.-ปปส.-ทหาร ขยายผลจับแก๊งยานรกยกก๊วน ยึดยาบ้า 2 ล้านเม็ด-ไอซ์/คีตามีนอีกอื้อ พร้อมรถ-บ้าน-ที่ดิน เรียบวุธ

สพป.เชียงใหม่เขต3ส่ง”ครูเพชร”ไปช่วยราชการ ร.ร.กทม.ตามประสงค์ หลังแฉกรณีครูประเคนแข้งลงโทษ นร.-เบิกจ่ายเงินบริจาค

ซวยเลย! กระบะถูกปาหินใส่กระจกรถยนต์กลางสี่แยกไฟแดงเมืองอ่างทอง คาดปาผิดคัน

หมวดบทความ

กรุงเทพมหานคร การศึกษา กิจกรรม ข่าว ความงาม/สุขภาพ ค้าปลีก งานพิมพ์ ตรวจหวย ธุรกิจ บริการ ร้านค้า ร้านอาหาร วิถีชีวิต สถานที่ท่องเที่ยว สถานศึกษา สพป.กรุงเทพมหานคร สพม.เขต 1 สพม.เขต 2 อสังหาริมทรัพย์ อาหาร เครื่องดื่ม เบเกอรี่/ขนม/ไอศกรีม เอสเอ็มอี แฟรนไชส์ โรงเรียนกวดวิชา โรงเรียนนานาชาติ โรงเรียนศิลปะและกีฬา โรงเรียนสอนวิชาชีพ โรงเรียนสอนศาสนา โรงเรียนสามัญ โอทอป

เกี่ยวกับเรา กรุงเทพมหานคร



เป็นศูนย์รวมในการนำเสนอข้อมูลเพื่อสนับสนุนธุรกิจด้านการท่องเที่ยวในจังหวัด และแลกเปลี่ยนความคิดเห็นพร้อมทั้งให้ข้อเสนอแนะและ ให้คำแนะนำเพื่อเป็นประโยชน์แก่สมาชิก อีกทั้งยังเผยแพร่ข้อมูลเพื่อประโยชน์ในการศึกษา ค้นคว้า วิจัย ต่าง ๆ อีกด้วย

Unable to open file!