OSGi在淘宝内部的使用
现在基本不怎么用了,OSGi主要的价值,在实际中体现得不太明显
比如类隔离,用更简单的自定义ClassLoader也可以实现;单机多版本服务,用的场景也很少;热部署也不是很实用
但是,基于OSGi框架做开发,复杂度的上升又是显而易见的。因此,用很高的代价,只能换来较少的收益,在开发人员之间推动很困难,渐渐地就不怎么用了
我们之前的一个产品,也是类似的情况。公司内部一个平台,三年前的一个主要卖点就是OSGi架构,好处也就是OSGi官方宣传的那一套,而现在最新的版本也在“去OSGi化”,有一种走了弯路的感觉
我个人觉得,除了明显增加开发复杂度之外,OSGi还有一个问题,就是和java ee规范的兼容性,离完美还是相去甚远。就连最简单的一个问题,“OSGi框架与servlet框架嵌套”,现在虽然有方案,但是同样相当复杂。我觉得对于OSGi,目前还是保持适度的关注就可以了
OSGi在淘宝内部的使用的更多相关文章
- 淘宝内部大量使用的开源系统监控工具--Tsar
		Tsar是淘宝开发的一个非常好用的系统监控工具,在淘宝内部大量使用 它不仅可以监控CPU.IO.内存.TCP等系统状态,也可以监控Apache,Nginx/Tengine,Squid等服务器状态 ... 
- 淘宝内部分享:怎么跳出MySQL的10个大坑
		编者按:淘宝自从2010开始规模使用MySQL,替换了之前商品.交易.用户等原基于IOE方案的核心数据库,目前已部署数千台规模.同时和Oracle, Percona, Mariadb等上游厂商有良好合 ... 
- 淘宝内部分享:MySQL & MariaDB性能优化
		发表于2015-01-20 16:26| 28875次阅读| 来源mysql.taobao.org| 22 条评论| 作者淘宝数据库团队 MySQL性能优化淘宝数据库 摘要:MySQL是目前使用最多的 ... 
- 淘宝内部分享:MySQL & MariaDB性能优化 【转】
		MySQL· 5.7优化·Metadata Lock子系统的优化 背景 引入MDL锁的目的,最初是为了解决著名的bug#989,在MySQL 5.1及之前的版本,事务执行过程中并不维护涉及到的所有表的 ... 
- [转载] 淘宝内部分享:怎么跳出MySQL的10个大坑(上)
		原文: http://mp.weixin.qq.com/s?__biz=MzAxNjAzMTQyMA==&mid=209773318&idx=1&sn=e9600d3db80b ... 
- 淘宝TFS分布式文件系统内部实现
		TFS文件名的结构 TFS的文件名由块号和文件号通过某种对应关系组成,最大长度为18字节.文件名固定以T开始,第二字节为该集群的编号(可以在配置项中指定,取值范围 1~9).余下的字节由Block I ... 
- 淘宝HSF 框架使用 总结
		@(JAVA开发) 淘宝HSF 框架使用 总结 随着网站访问量增加,仅仅靠增加机器已不能满足系统的要求,于是需要对应用系统进行垂直拆分和水平拆分.在拆分之后,各个被拆分的模块如何通信?如何保证性能?如 ... 
- 笔者带你剖析淘宝TDDL(TAOBAO DISTRIBUTE DATA LAYER)
		注:本文部分内容引用本人博客http://gao-xianglong.iteye.com/blog/1973591 前言 在开始讲解淘宝的TDDL(Taobao Distribute Data L ... 
- 明风:分布式图计算的平台Spark GraphX  在淘宝的实践
		快刀初试:Spark GraphX在淘宝的实践 作者:明风 (本文由团队中梧苇和我一起撰写,并由团队中的林岳,岩岫,世仪等多人Review,发表于程序员的8月刊,由于篇幅原因,略作删减,本文为完整版) ... 
随机推荐
- AJAX(学习笔记一)
			1:什么是AJAX? AJAX是一组英文单词的简写,这组英文单词是 :Asynchronous JavaScript and XML ,翻译成中文的意思是: 异步的JavaScript 和 XML.什 ... 
- 数据结构(一)之HelloWord
			最近由于学习上面的需要,要重新的看看数据结构方面的知识!当然,我觉得数据结构也非常的重要,下面是我的学习的一点小小的记录,以备日后的查看! 我的环境: 1:操作系统:windows7 2:编码环境:M ... 
- 洛谷P1218 [USACO1.5]特殊的质数肋骨 Superprime Rib
			P1218 [USACO1.5]特殊的质数肋骨 Superprime Rib 284通过 425提交 题目提供者该用户不存在 标签USACO 难度普及- 提交 讨论 题解 最新讨论 超时怎么办? ... 
- 使用ngin的静态文件下载
			1,主配置文件nginx.xml #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error. ... 
- Javascript中的Bind 、Call和Apply
			看以下代码: var bind = Function.prototype.call.bind(Function.prototype.bind); 第一眼看上去,我能猜出它究竟是用来做什么的.它把x.y ... 
- Leetcode049. Group Anagrams
			//hashmap implement with STL class Solution { public: vector<vector<string>> groupAnagra ... 
- kickstrat
			定制部分 硬盘分区 root密码 网络地址 公共部分 %pre% %post% tcp调优 集中配置程序(ansible) sudo配置 
- 转载 《AngularJS》5个实例详解Directive(指令)机制
			<AngularJS>5个实例详解Directive(指令)机制 大漠穷秋 本文整理并扩展了<AngularJS>这本书第六章里面的内容,此书近期即将由电子工业出版社出版,敬请 ... 
- MSSQL Server Transaction 数据库事务回滚的用法
			使用的表结构如下: Commit TransAction Else Rollback TransAction/* 自定义一个变量来判断最后是否发生过错误.*/ ... 
- Java语法细节(2)
			1.逻辑运算符 &和&&,|和||的区别 &&:和&的结果是一样的,但运算过程有区别 &&:只要左边结果为假,就不再执行右边的,结果为假 ... 
