八 一个JAVA案例
2010-04-30 04:34
85 查看
假设需求(如有雷同,纯属巧合):
有一个全国性的大企业,在全国各地需要部署上千台客户机,这些客户机需要实时与服务器交互,进行数据处理。实时性要求高,安全性高,要求支持事务,以及不中断服务。
硬件部署:
1、 3000台客户机
2、 10台服务器
3、 6台数据库
软件设计:
3000台客户机通过web浏览器与服务器实时交互
4服务器上同时运行java app Server
2台消息服务器
2 台数据控制器
数据库采用oracle,分为2组,每组2个副本
概要设计步骤:
1、 保证客户机每个请求即为一个事务
2、 客户机发送一个事务请求到随机一台服务器,服务器接收到请求
3、 服务器检测自身性能、工作正常则处理请求,否则通知客户端异常请求另外的服务器
4 服务器验证客户身份和权限后,开启事务操作,向数据控制器发出数据操作请求
5 数据控制器接收数据请求,评估各自的负载压力,由压力小的控制器负责向数据库发送操作请求,如果为读操作,则选取压力最小的数据库读取,如果为写操作,则同步写入2台数据库,第3台数据操作采用异步写入
6 数据控制器返回操作结果,并更新缓存,并通知消息服务器缓存的最新时间戳
7 服务器向客户端返回结果
8 客户端获得返回结果
有一个全国性的大企业,在全国各地需要部署上千台客户机,这些客户机需要实时与服务器交互,进行数据处理。实时性要求高,安全性高,要求支持事务,以及不中断服务。
硬件部署:
1、 3000台客户机
2、 10台服务器
3、 6台数据库
软件设计:
3000台客户机通过web浏览器与服务器实时交互
4服务器上同时运行java app Server
2台消息服务器
2 台数据控制器
数据库采用oracle,分为2组,每组2个副本
概要设计步骤:
1、 保证客户机每个请求即为一个事务
2、 客户机发送一个事务请求到随机一台服务器,服务器接收到请求
3、 服务器检测自身性能、工作正常则处理请求,否则通知客户端异常请求另外的服务器
4 服务器验证客户身份和权限后,开启事务操作,向数据控制器发出数据操作请求
5 数据控制器接收数据请求,评估各自的负载压力,由压力小的控制器负责向数据库发送操作请求,如果为读操作,则选取压力最小的数据库读取,如果为写操作,则同步写入2台数据库,第3台数据操作采用异步写入
6 数据控制器返回操作结果,并更新缓存,并通知消息服务器缓存的最新时间戳
7 服务器向客户端返回结果
8 客户端获得返回结果
相关文章推荐
- 适合selenium rc初学者的一个简单java测试案例
- 一个java内存泄漏的排查案例
- Java 序列化对象的一个使用案例
- 一个简单的java jdbc案例
- Java基础知识强化46:StringBuffer类之判断一个字符串是否对称案例
- list的add方法 ,foreach循环添加map---List.add(map)(通过一个java爬虫案例说明)
- 一个简单的javaBean+JSP+Servlet案例
- Java Cookie的使用以及一个小案例
- 一个可供参考的Java高并发异步应用案例
- 关于java中static一个有意思的小案例
- 一个6年的Java程序员,针对分布式锁的案例分析和总结
- 一个简单的java文件反编译案例
- Java同比环比如何开发(请教一个案例)
- [第八季]1.Java Web开发概述开发环境及一个简单案例(一)
- 出现 java.lang.NullPointerException 的一个案例
- 一个可供参考的Java高并发异步应用案例--转
- 一个可供参考的Java高并发异步应用案例
- 关于Java的散列桶, 以及附上一个案例-重写map集合
- Java多线程的一个案例-生产者消费者问题
- Java序列化对象的一个使用案例-使用Http发送对象