惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - 笨笨

UTF-8 Oracle生成MD5 How do you define Success? pbrun su -root Shell/Windows命令备忘 爸妈 Spring中的exception处理 What is ieHTTPHeaders? Cluster/Fail-Over/Load Banlance Thread Dump 非常郁闷 Bea World 2005 materials available now 程序依赖库的管理 EJB琐碎的想法 J2EE的世界越来越精彩了 LDAP信息模型 人类进入文明史的标志 TimeZone Socket
SLA(Service Level Agreement)
笨笨 · 2006-01-01 · via 博客园 - 笨笨

现在的DB内容本身价值极高,一些核心客户都是内部的一些部门,但是使用范围确实World Wide(WW)级别的,服务以Corba,EJB,web services形式发布,服务器配置是8CPU、32G内存,weblogic8.1SP5,每个Domain是Admin Server、Node Manager、Managed Server的拓扑结构,相关的使用的第三方组件也有EJB和Corba版本。
现在公司提供了一个Batch Process的流程,但是我觉得效果非常不好,10万条的记录以文本形式提交上来,这里面有几个问题:
1。没有使用NIO/JINI,效率不高。
2。每一条记录处理都要调用一次EJB(受限于第三方的组件,无法实现绕过EJB调用的处理方式)。
3。自己EJB需要调用第三方EJB,在thread hang住的情况不能主动提示。
4。Batch Process方面的用户权限和能够享受的服务不清楚。

我自己的几个考虑:
1。从观念上引入SLA, 把对应customer可以享受的服务和收费直接挂钩。里面技术相关参数可以类似以下几个等等:一次可以处理几个文件、一次可以处理多少记录、可以享受多少并发处理(比如,跟他说你给我XX钱,我就给你多少条线程同时处理你的请求)、我承诺你的有效响应时间是多少等等。
2。如果观念上行的通,接下来就是技术问题:


a). 对容器外线程的管理;
b). 对有可能比较耗费时间引起thread挂起的地方注册EJB TimerService,在Callback接口中丢出Timeout异常,封装现场信息,丢给Notification相关方,给用户friendly的出错提示或者尝试自动处理;
c). 用户提交的记录是否需要保存到DB,供后续查询和处理,以及做用户请求和服务level分析;
d). JMS实现上,增加自定义的selector,实现实时Debug信息功能供出现“挂起”现象时诊断(前面的故障排除是我用Thread Dump的方法来查看JVM中的内存Thread分布情况),同时保证日志信息的“事务完整性”;
e). 重构当前MDB,将处理逻辑移交MDB代码以外,增加新的DB Processor配合原有的log4j Processor,已备复杂后期处理使用;
f). 仔细考虑的一个问题是:现在的系统有很大一部分依赖与shell脚本和规则的文本文件,为什么不依赖数据库的唯一原因我想可能是项目组认为文本文件提供更好的可信度、可用度,也就是为了防止如果DB不可用的时候,服务还是不会中断,可以考虑一下如果DB为首选方案,文本为BackUp的解决办法的工作量和可行度,这个可能涉及到很多问题:信息同步、丢失数据及时导入等等,要根据业务逻辑找到一个合适的角度。
g). 另外,如果启动多少线程可以自由确定的话,直接影响我们另外一个EJB Pool的大小规划问题,同时还要考虑3个第三方产品之间的带宽限制,否则对用户的多线程的服务就是一个空话。

我想,如果可行的话,可以做一个方案出来,提交PM,主动从客户那里拉单子过来,客户还是比较有钱的,不过风险就是应用是WW级别的应用,如果一个处理不好,项目组就会粉身碎骨,所以还是需要跟PM做仔细仔细的分析。

PS. 目前在我计划内的是想跟客户提议实现对Weblogic(不是一个domain,而是WW级设计到的所有的Bea domain)的主动监控,而不是简单的ping自己的服务确定,这个在技术上不成问题。