- 浏览: 365474 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (186)
- J2EE (46)
- spring (4)
- Applet (7)
- 网页前端 (10)
- 生活与工作 (55)
- 开放的世界 (10)
- linux (16)
- j2me (2)
- android (5)
- ExtJS (1)
- 架构师与设计 (7)
- 开发平台 (2)
- Eclipse (4)
- 教育 (0)
- 数据库 (9)
- English (1)
- Jetty (2)
- 未分类 (1)
- 工具 (2)
- flex (2)
- synchronized (1)
- maven (2)
- command (0)
- shell (1)
- web (1)
- qq (3)
- wine (3)
- chrome (1)
- extensions (1)
- plugin (1)
- 插件 (1)
- ssh (1)
- 内网 (1)
- J2EE excel (1)
- ubuntu (4)
- storm (2)
- hadoop (1)
最新评论
-
skzr.org:
jdbc:mysql://localhost:3306/?us ...
storm topology all in one spring文件合并 -
chenghong726:
你好,我用你这个方法,上传文件72M一直卡在 mapper.s ...
超大excel读取 43万记录 26M文件 -
海hai:
您好我对这篇文章很敢兴趣可以和你请教下吗?我qq9034418 ...
淘宝top自动授权页面,方便大家调试top应用 -
skzr.org:
首先感谢你的关注:)yaerfeng1989 写道最代码上有更 ...
[MAVEN]web工程的调试 -
skzr.org:
最新消息2013-12-17:腾讯再次弹出消息,我的QQ201 ...
ubuntu 12.04安装QQ2012
我一直觉得只有符合业务需要的缓存服务才能够成功!
设计时考虑越一般化越通用的 越有可能失败
所以设计你的专业缓存服务吧!
前一段时间的思考:
设计一个缓存服务器(tomcat+spring(http remote invoker)),利用memecached做缓存!
所有档案和采集数据的访问通过此服务器访问!
对上层应用提供一个接口包提供业务服务!
客户服务器:web 2台:32G内存,2CPU(1CPU=4 core ,8个逻辑单元)
Stone() 10:49:21
对上层应用提供一个接口包提供业务服务!
我们目前也是这样干的撒
大蜜蕊(305132968) 10:50:22
老实说,我想设计的是一个档案按关系型数据库存储!
个性化的档案数据key-value;
对于采集上来的数据10年不变,直接存文件或者数据库表都可以
参考了NOSQL的部分思想
大菠萝( 10:50:33
大蜜蕊,问一下你上面说的设计是不是不能支持事务?
大蜜蕊() 10:51:16
我一直觉得只有符合业务需要的缓存服务才能够成功!
设计时考虑越一般化越通用的 越有可能失败
所以设计你的专业缓存服务吧!
大蜜蕊() 10:51:46
所以我的档案数据使用关系型数据库保证事物!
存在幻读可能
Stone() 10:52:24
我们倒是没必要搞的那么复杂
只是取出数据,给一些接口用于访问和存取缓存数据就可以了
大蜜蕊() 10:52:33
我觉得事务问题,可以专门问题专门调整服务实现,即可规避
大菠萝() 10:52:36
恩,memcached和关系数据库一起使用,事务支持是个问题
大阿汪<> 10:52:47
remote的性能会差的多
缓存还是要本地块
大蜜蕊() 10:53:04
大阿汪<> 10:52:47
remote的性能会差的多
缓存还是要本地块
现在看着WEB 32G内存,我们最多也就使用1.4G
大蜜蕊() 10:53:19
他们部署在同一个机器上
大菠萝() 10:53:16
remote缓存其实没有那么多的性能损耗
大蜜蕊() 10:53:34
而且注意是使用的localhost
大蜜蕊() 10:53:48
根本不会完全经过协议栈的
大菠萝() 10:54:23
localhost比写ip要快,是吗?
大阿汪<> 10:55:16
……
大蜜蕊() 10:55:23
localhost就是127.0.0.1
大菠萝() 10:55:52
机器actual ip
大蜜蕊() 10:55:59
Stone(16781578) 10:44:57
可能是设计的不够好
Stone(16781578) 10:47:37
因为数据类型的差异,某些东西无法去统一
针对这个问题,可以分开看:
区分类型:那些部分会变化、变化频度
再调整存储即可
Stone() 10:58:36
缓存很麻烦的就是查询,和写数据很难搞
大蜜蕊() 10:59:31
如果你对外提供服务,自己内部做查询呢
大蜜蕊() 10:59:40
或者直接使用NOSql
大蜜蕊() 11:00:19
NoSQL产品
大蜜蕊() 11:00:24
Apple = Service.getApple();
其他属性(生产地)
生产地 = Service.getAppleProp(Apple, 产地key);
Stone() 11:01:09
呵呵 是对外提供服务的饿
大蜜蕊() 11:01:31
至于查询,根据前面的原则,只设计面向业务的专有服务,不会完全支持通用的
大人兽(714524622) 11:02:14
顶一个
大蜜蕊() 11:02:15
List<> ret = Service.getApplesBy生产地(产地名,省份,地市等等);
大蜜蕊() 11:04:21
大家注意到没,各个所谓的NoSQL产品,他们只是在某个同类业务的方面才有成功的案例,而且所谓WEB2.0公司讲的成功的NOSQL应用都只说了产品
大蜜蕊() 11:04:50
实际上他们实际使用时都会做选择,那些使用那些不用!
大蜜蕊() 11:05:24
淘宝的开放平台,对外提供的服务,也是专有服务,么有提供类似的(X)QL给你使用吧!
大蜜蕊() 11:05:32
说完了
[Head First]Eko Hu<huecko@gmail.com> 11:06:05
google和亚马逊都用了noSQL吧
大蜜蕊() 11:06:23
这里我觉得思想很重要
大蜜蕊() 11:06:45
我对目前公司的数据分析后得出的一个方案雏形:
http://skzr-org.iteye.com/admin/blogs/774323
大蜜蕊() 11:07:39
http://skzr-org.iteye.com/blog/774323
大蜜蕊() 11:09:41
Stone() 10:52:24
我们倒是没必要搞的那么复杂
只是取出数据,给一些接口用于访问和存取缓存数据就可以了
大蜜蕊() 10:52:33
我觉得事务问题,可以专门问题专门调整服务实现,即可规避
根据CAP理论:
* C: Consistency 一致性
* A: Availability 可用性(指的是快速获取数据)
* P: Tolerance of network Partition 分区容忍性(分布式)
同时一刻最多同时满足两个条件!
大蜜蕊() 11:10:19
所以为了事务也就是C,必然牺牲A或者P
大蜜蕊() 11:10:48
这就是说为什么要针对专门的业务应用采用专门的实现策略!
大蜜蕊() 11:12:11
以上是自己的一点思考,未在任何系统中实践过
欢迎大家拍我
大菠萝() 11:15:32
好多地方没太听懂。
从你博客上了解到的就是注重业务,而不是纠缠于数据库的增删改查上。
大蜜蕊() 11:17:09
是的
大菠萝() 11:17:26
。。。。
大蜜蕊() 11:18:03
当然了,因为我们的业务就是对
中等数量级的数据进行处理!
如果是小系统,数据量少,完全没必要N多设计的
大蜜蕊() 11:20:36
这两年一直想设计一个完全满足CAP的底层,看了NOSql才知道,根本不可能
大菠萝() 11:20:47
面向对象语言难道本来不就应该更注重业务吗?
如果是小系统,变化不大,用面向对象语言很浪费,还麻烦。大蜜蕊用的是面向对象语言吧?
大蜜蕊() 11:22:48
大蜜蕊() 11:23:39
一直用java的ssh
大蜜蕊() 11:23:47
现在很烦躁用h
大菠萝() 11:24:26
服务器不错哦,如果不是windows系统会更耀眼
大蜜蕊() 11:25:09
我是力推linux的
大菠萝() 11:25:33
看来你们领导很死板啊
大蜜蕊() 11:25:56
吃饭先
Stone() 11:44:22
linux
大蜜蕊() 11:45:34
大菠萝() 11:20:47
面向对象语言难道本来不就应该更注重业务吗?
如果是小系统,变化不大,用面向对象语言很浪费,还麻烦。大蜜蕊用的是面向对象语言吧?
我的观点是——设计模式才是隐藏在背后的本源力量
“业务过程”——这个才应该被设计,而不是设计对象,对象只是业务过程的静态化!
探索“业务”的过程,就会形成和发现“设计”背后的模式
设计时考虑越一般化越通用的 越有可能失败
所以设计你的专业缓存服务吧!
前一段时间的思考:
设计一个缓存服务器(tomcat+spring(http remote invoker)),利用memecached做缓存!
所有档案和采集数据的访问通过此服务器访问!
对上层应用提供一个接口包提供业务服务!
客户服务器:web 2台:32G内存,2CPU(1CPU=4 core ,8个逻辑单元)
Stone() 10:49:21
对上层应用提供一个接口包提供业务服务!
我们目前也是这样干的撒
大蜜蕊(305132968) 10:50:22
老实说,我想设计的是一个档案按关系型数据库存储!
个性化的档案数据key-value;
对于采集上来的数据10年不变,直接存文件或者数据库表都可以
参考了NOSQL的部分思想
大菠萝( 10:50:33
大蜜蕊,问一下你上面说的设计是不是不能支持事务?
大蜜蕊() 10:51:16
我一直觉得只有符合业务需要的缓存服务才能够成功!
设计时考虑越一般化越通用的 越有可能失败
所以设计你的专业缓存服务吧!
大蜜蕊() 10:51:46
所以我的档案数据使用关系型数据库保证事物!
存在幻读可能
Stone() 10:52:24
我们倒是没必要搞的那么复杂
只是取出数据,给一些接口用于访问和存取缓存数据就可以了
大蜜蕊() 10:52:33
我觉得事务问题,可以专门问题专门调整服务实现,即可规避
大菠萝() 10:52:36
恩,memcached和关系数据库一起使用,事务支持是个问题
大阿汪<> 10:52:47
remote的性能会差的多
缓存还是要本地块
大蜜蕊() 10:53:04
大阿汪<> 10:52:47
remote的性能会差的多
缓存还是要本地块
现在看着WEB 32G内存,我们最多也就使用1.4G
大蜜蕊() 10:53:19
他们部署在同一个机器上
大菠萝() 10:53:16
remote缓存其实没有那么多的性能损耗
大蜜蕊() 10:53:34
而且注意是使用的localhost
大蜜蕊() 10:53:48
根本不会完全经过协议栈的
大菠萝() 10:54:23
localhost比写ip要快,是吗?
大阿汪<> 10:55:16
……
大蜜蕊() 10:55:23
localhost就是127.0.0.1
大菠萝() 10:55:52
机器actual ip
大蜜蕊() 10:55:59
Stone(16781578) 10:44:57
可能是设计的不够好
Stone(16781578) 10:47:37
因为数据类型的差异,某些东西无法去统一
针对这个问题,可以分开看:
区分类型:那些部分会变化、变化频度
再调整存储即可
Stone() 10:58:36
缓存很麻烦的就是查询,和写数据很难搞
大蜜蕊() 10:59:31
如果你对外提供服务,自己内部做查询呢
大蜜蕊() 10:59:40
或者直接使用NOSql
大蜜蕊() 11:00:19
NoSQL产品
大蜜蕊() 11:00:24
Apple = Service.getApple();
其他属性(生产地)
生产地 = Service.getAppleProp(Apple, 产地key);
Stone() 11:01:09
呵呵 是对外提供服务的饿
大蜜蕊() 11:01:31
至于查询,根据前面的原则,只设计面向业务的专有服务,不会完全支持通用的
大人兽(714524622) 11:02:14
顶一个
大蜜蕊() 11:02:15
List<> ret = Service.getApplesBy生产地(产地名,省份,地市等等);
大蜜蕊() 11:04:21
大家注意到没,各个所谓的NoSQL产品,他们只是在某个同类业务的方面才有成功的案例,而且所谓WEB2.0公司讲的成功的NOSQL应用都只说了产品
大蜜蕊() 11:04:50
实际上他们实际使用时都会做选择,那些使用那些不用!
大蜜蕊() 11:05:24
淘宝的开放平台,对外提供的服务,也是专有服务,么有提供类似的(X)QL给你使用吧!
大蜜蕊() 11:05:32
说完了
[Head First]Eko Hu<huecko@gmail.com> 11:06:05
google和亚马逊都用了noSQL吧
大蜜蕊() 11:06:23
这里我觉得思想很重要
大蜜蕊() 11:06:45
我对目前公司的数据分析后得出的一个方案雏形:
http://skzr-org.iteye.com/admin/blogs/774323
大蜜蕊() 11:07:39
http://skzr-org.iteye.com/blog/774323
大蜜蕊() 11:09:41
Stone() 10:52:24
我们倒是没必要搞的那么复杂
只是取出数据,给一些接口用于访问和存取缓存数据就可以了
大蜜蕊() 10:52:33
我觉得事务问题,可以专门问题专门调整服务实现,即可规避
根据CAP理论:
* C: Consistency 一致性
* A: Availability 可用性(指的是快速获取数据)
* P: Tolerance of network Partition 分区容忍性(分布式)
同时一刻最多同时满足两个条件!
大蜜蕊() 11:10:19
所以为了事务也就是C,必然牺牲A或者P
大蜜蕊() 11:10:48
这就是说为什么要针对专门的业务应用采用专门的实现策略!
大蜜蕊() 11:12:11
以上是自己的一点思考,未在任何系统中实践过
欢迎大家拍我
大菠萝() 11:15:32
好多地方没太听懂。
从你博客上了解到的就是注重业务,而不是纠缠于数据库的增删改查上。
大蜜蕊() 11:17:09
是的
大菠萝() 11:17:26
。。。。
大蜜蕊() 11:18:03
当然了,因为我们的业务就是对
中等数量级的数据进行处理!
如果是小系统,数据量少,完全没必要N多设计的
大蜜蕊() 11:20:36
这两年一直想设计一个完全满足CAP的底层,看了NOSql才知道,根本不可能
大菠萝() 11:20:47
面向对象语言难道本来不就应该更注重业务吗?
如果是小系统,变化不大,用面向对象语言很浪费,还麻烦。大蜜蕊用的是面向对象语言吧?
大蜜蕊() 11:22:48
大蜜蕊() 11:23:39
一直用java的ssh
大蜜蕊() 11:23:47
现在很烦躁用h
大菠萝() 11:24:26
服务器不错哦,如果不是windows系统会更耀眼
大蜜蕊() 11:25:09
我是力推linux的
大菠萝() 11:25:33
看来你们领导很死板啊
大蜜蕊() 11:25:56
吃饭先
Stone() 11:44:22
linux
大蜜蕊() 11:45:34
大菠萝() 11:20:47
面向对象语言难道本来不就应该更注重业务吗?
如果是小系统,变化不大,用面向对象语言很浪费,还麻烦。大蜜蕊用的是面向对象语言吧?
我的观点是——设计模式才是隐藏在背后的本源力量
“业务过程”——这个才应该被设计,而不是设计对象,对象只是业务过程的静态化!
探索“业务”的过程,就会形成和发现“设计”背后的模式
评论
2 楼
skzr.org
2010-11-11
专有的意思就是:只能在你的这个项目中使用,放到其他地方用不了
总结出内在的模式意思是:专有的实现思路和一些经验可以传递到另一个项目中,从而让系统得到发展和升华
总结出内在的模式意思是:专有的实现思路和一些经验可以传递到另一个项目中,从而让系统得到发展和升华
1 楼
skzr.org
2010-11-11
蜜蕊() 12:03:23
面向对象的设计——重点不在设计对象,重点在设计“业务过程”
海量数据管理——必然要适合“业务”,不再单纯的增删改查,直白点就是专有数据管理系统!
专有数据管理系统——设计过程中必然可以摸索总结出内在的“模式”
有人参与管理的业务就没有通用的东西!
Stone说的他们设计的那个服务
不要期望它解决所有的问题,只要解决大部分问题就可以了
剩下的就会体现智慧的火花!
面向对象的设计——重点不在设计对象,重点在设计“业务过程”
海量数据管理——必然要适合“业务”,不再单纯的增删改查,直白点就是专有数据管理系统!
专有数据管理系统——设计过程中必然可以摸索总结出内在的“模式”
有人参与管理的业务就没有通用的东西!
Stone说的他们设计的那个服务
不要期望它解决所有的问题,只要解决大部分问题就可以了
剩下的就会体现智慧的火花!
发表评论
-
买了两山地车,骑车上下班。
2011-03-29 22:19 1272今天早上累死了终于没有迟到,不过打卡已经8:33了。 晚上回 ... -
core i7 + 4X2G DDR3 + Nvidia 2G独显 本本想入手阿
2011-03-27 22:06 998呵呵,如题! 貌似现在还比较贵,等 -
病不起 :)
2011-03-27 16:33 968无奈中-国-国-情的经验: 到医院不如到药店找售货的,人家简 ... -
准备进入另一个山头,留发纪念
2011-03-23 12:58 1155纪念2004-2010年流逝的岁月 -
2011年2月感触——思感提升30了阿
2011-02-13 21:22 1133转眼2011年了,呵呵步入人生的第30个年头 回 ... -
答复: 当你在进步而朋友原地不动时
2011-02-07 20:14 975论坛原文 iapple 写道刚好看到一位读者在 “Having ... -
生活是靠走的
2011-01-25 09:02 1078早上不知道怎样,想什么是人生曲线,低谷和山峰在哪儿,难道 ... -
心中疑问的思考?
2011-01-23 23:23 783工作感觉不得力,感 ... -
咳嗽 飞龙止咳
2010-12-19 14:38 11782010年CSDN上海软件开发者大会,飞龙 健康讲座 ... -
[转]迈向架构师的第一步
2010-11-25 15:20 967原文:CSDN ID:cutesource http:// ... -
[转]程序员不成熟的若干个特征
2010-11-25 15:16 735原文地址:CSDN 尹成 ... -
前行的路
2010-11-16 21:39 867时间一点一点的走过,心路一点一点的在拓展 走入社会身边的亲人 ... -
[心情很糟]体会到心情很糟阿,my life my choice!
2010-11-09 13:10 1080心情极度郁闷,忧郁 I have nothing, b ... -
0分作文——2010年普通高等学校招生考试上海卷作文题
2010-10-04 11:18 925此人是个人才 :) 2010 ... -
面向对象,真的必须设计数据对象吗?
2010-09-28 17:00 1743开发:JAVA 现在越来越觉得自己把dao或者是orm ... -
发展规律——由弱到强
2010-09-05 11:54 1144对于穷二代来说,创业是不容易的,最大的挑战来自家庭,其次才是金 ... -
在博源的日志——结束
2010-08-14 16:46 9132010-08-14日星期六 昨天是在博源的最后一天,在 ... -
在博源的日志——第3天
2010-08-12 10:24 11022010-08-11 博源第3天 一天我不知道自己做 ... -
在博源的日志——第一天
2010-08-12 10:23 9002010-08-09 博源第一天 一个大的办公室,大约50人 ... -
javaeye我有话说
2010-07-31 20:03 1077时间一天一天流过,je一天一天看过 一直对je的所谓投 ...
相关推荐
这些著作讨论实体、值对象、服务等DDD的主要内容,或者谈论通用语言、界定的上下文(Bounded Context)和防护层(Anti-Corruption Layer)这些的概念。 本文旨在从实践的角度探讨领域建模和设计,涉及如何着手处理...
当我们谈论框架时,我们实际上在讨论的是软件框架,特别是针对深度学习领域的框架。这些框架是构建、训练和部署机器学习模型的基础,它们提供了一个结构化的环境,让开发者能够更高效地实现复杂的算法,而不必从零...
当我们谈论框架时,我们实际上在讨论的是用于构建和运行机器学习(ML)和深度学习(DL)模型的软件基础设施。这些框架提供了从数据预处理、模型训练到部署的一系列工具和功能,使得开发者和研究人员能够更高效地进行...
当我们谈论"C++服务程序代码"时,我们通常是指使用C++来编写的服务程序,这些程序可以在后台运行,作为操作系统的一部分,提供持续的功能和服务。下面将详细讨论C++服务程序的创建、安装和服务控制。 1. **服务程序...
1. OCR技术(光学字符识别):文件中提到了“由于技术原因,导致会有个别字识别错误或者漏识别的情况”,这里指的就是OCR技术在处理扫描文档时可能出现的错误。OCR技术是一种将图像数据转换成可编辑和可搜索的文本...
【设计师的成功之路(二)经验交流】 在设计领域,成为一名成功的设计师不仅关乎技术能力,更涉及到广泛的知识储备、...通过不断提升这些方面,设计师可以更好地服务于客户,实现设计的价值,并在职业生涯中取得成功。
当我们谈论"Jquery后台管理界面设计"时,我们主要是指利用jQuery来创建高效、功能丰富的后台管理系统用户界面。在这个主题下,我们将探讨几个关键的知识点,包括jQuery的基本用法、UI组件、Ajax交互以及响应式设计。...
当我们谈论获取SQL服务器名称时,我们通常是指这些实例的名称。 要实现这个功能,通常会使用.NET Framework中的System.Data.SqlClient命名空间,它提供了丰富的类和方法来与SQL Server进行交互。在这个描述中提到的...
当我们谈论“最好的FTP服务器”时,我们通常关注的是其易用性、稳定性和安全性。 FTP服务器软件的选择取决于多种因素,包括服务器的资源限制、用户需求以及管理复杂性。一个简洁实用的FTP服务器可能具有以下特点: ...
在WebApp的设计和开发过程中,需要考虑到离线(Offline)功能的支持。考虑到网络条件的不稳定性,WebApp应当能够在没有网络连接的情况下继续工作。这意味着需要在本地设备上缓存数据和资源,并且具备相应的离线数据...
Expo是React Native的一个重要扩展,它提供了一整套开箱即用的服务和工具,包括模拟器、打包服务、推送通知等。在"Lyrics King"的开发过程中,Expo简化了环境配置和设备测试,使得开发者无需手动配置每个平台的原生...
当我们谈论“使用Java做网页设计界面”时,实际上是指利用Java技术来构建Web应用程序的前端部分,这通常涉及到JavaFX、Swing或者现代的JavaScript库如React或Vue.js,通过Java的后端服务进行数据交互。 **JavaFX** ...
7. **RESTful API支持**:Pyramid的API设计使得创建RESTful服务变得简单,适合构建现代Web应用。 **使用Cookiecutter-Pyramid-Talk-Project-Starter** `cookiecutter-pyramid-talk-python-starter-master`是一个...
当我们谈论架构时,我们需要理解以下几个关键概念:系统与子系统、模块与组件、框架与架构。 1. 系统与子系统: - 系统是由相互关联的个体组成的,它们按照特定规则协同工作,共同创造出个体无法单独实现的功能。...
当我们谈论"一种包装用纸箱"的设计时,这通常与生产流程优化、物料处理、包装自动化等相关。以下是一些关于这个主题的重要知识点: 1. **包装设计**:包装设计不仅仅是美学的体现,更重要的是保护产品、方便运输和...
大型网站的架构设计问题通常涉及服务化、微服务、容器化等,将复杂应用拆分为多个独立的服务,每个服务都可以独立部署、扩展,以应对不断变化的业务需求。容器技术如Docker和Kubernetes提供了一种标准化的服务部署和...
1.APT(高级持续性威胁):APT是黑客为了持续窃取信息而进行的、目标明确的、高度复杂且隐蔽的网络攻击。攻击者往往经过长时间的筹划,选取特定目标,通过多种手段逐步渗透系统。在推特事件中,员工可能受到了钓鱼...
当我们谈论Visual C#.NET中文版Web服务开发基础时,这通常涉及到使用Microsoft的.NET框架,特别是C#编程语言来构建和消费Web服务。下面将详细介绍这个主题的一些关键知识点。 1. **C#编程语言**: C#是微软开发的一...
1. **路由(Routing)**:定义API的URL结构,根据不同的请求方法(GET、POST、PUT、DELETE等)映射到相应的处理函数。 2. **请求处理(Request Handling)**:接收并解析客户端发送的数据,进行验证和错误处理。 3. **...
当我们谈论“服务优化学习”时,通常涉及多个层面的技术知识和实践策略。以下将详细阐述服务优化的一些关键点。 首先,我们要理解服务优化的目标是提高服务响应速度、降低资源消耗、提升系统稳定性和可扩展性。这...