![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
应用架构
文章平均质量分 83
yaleqiu
这个作者很懒,什么都没留下…
展开
-
jsr168 portlet(struts2+spring2.5+hibernate3.3)
jsr168? portal? portlet? 这些概念大家翻翻资料随处可见,我在这里就不多说了。通过一些资料收集,发现现在国内开发人员用的比较多的portal有:liferay,jetspeed,pluto potal,websphere portal ,lightportal,openportal等.通过现有资料得出结论:1.liferay,jetspeed现在商业项目还没有人成功在此基础上...2009-10-14 09:50:51 · 147 阅读 · 0 评论 -
CA认证原理以及实现(上)
原理基础数字证书为发布公钥提供了一种简便的途径,其数字证书则成为加密算法以及公钥的载体,依靠数字证书,我们可以构建一个简单的加密网络应用平台,数字证书就好比我们生活中的身份证,现实中,身份证由公安机关签发,而网络用户的身份凭证由数字证书颁发认证机构—CA签发,只有经过CA签发的证书在网络中才具备可认证性,CA并不是一个单纯的防御手段,它集合了多种密码学算法:消息摘要算法:MD5、和SHA(对数字证...2012-09-10 20:00:41 · 3898 阅读 · 0 评论 -
用消息队列和消息应用状态表来消除分布式事务(转载)
由于数据量的巨大,大部分Web应用都需要部署很多个数据库实例。这样,有些用户操作就可能需要去修改多个数据库实例中的数据。传统的解决方法是使用分布式事务保证数据的全局一致性,经典的方法是使用两阶段提交协议。长期以来,分布式事务提供的优雅的全局ACID保证麻醉了应用开发者的心灵,很多人都不敢越雷池一步,想像没有分布式事务的世界会是怎样。如今就如MySQL和PostgreSQL这类面向低端用户的开源...原创 2012-11-21 11:12:38 · 104 阅读 · 0 评论 -
企业追逐的--网络热点(云、海量数据、虚拟化)(下)
云管理平台云是IT实现,是造出来的,不是买来的。我们可以买服务器,买数据库,但买不了云,不可能说买来以后一装就行了,那就不是云了,那只能是买一个服务器,或者买一个集群,要想买一个云的是不大可能。反过来说,这个集成本身就有复杂性,所以会遇到比如说多种虚机不一样的,不同厂家的虚拟机,多种存储设备,很多API都不一样。然后物理机和虚机又混着使用,有些应用在物理机上运行,有些应用在虚机上运行,还有跟已有的...2012-06-28 21:58:08 · 105 阅读 · 0 评论 -
企业追逐的--网络热点(云、海量数据、虚拟化)(上)
云之所以热,是因为现在以及未来市场的业务推动力(回报率),现在哪个家庭中只有一台计算机?哪个企业只有几台计算机?计算机多了就会出现耗电、占地、维修保养、商业软件升级等问题,对于家庭而且这个成本算不上什么,但是对于服务行业的企业而言,这个成本是不可估量的,所以加快信息化脚步的同时,也会无形中出现相应的负担,成本越来越高,大家都在琢磨该如何解决?我们现在家庭中用水、用电是没有在自己家里安装发电机的...2012-06-28 21:08:13 · 170 阅读 · 0 评论 -
Terracotta Server[兵马俑]集群
Terracotta的介绍以及原理在我之前的文章中已经做了相关介绍,那么这次我们就来看看它是如何实现集群的。 测试代码编写我们首先写一个demo,该demo在没有terracotta的环境下执行一次,看看结果我们首先先写一个简单的多线程代码(我们这个例子制定共享TerracottaDemo类的demo对象,它包含的count和yale对象也就随之被整个集群共享了): packa...2012-06-14 01:23:09 · 328 阅读 · 0 评论 -
分布式事务设计-两段式提交
事务是一个很重要的概念,它必须满足ACID特性,在单机的数据库中,这很容易实现。但在分布式数据库中,各个表分散在各台不同的机器上,如何对这些表实施分布式的事务处理就成为一个比较困难的问题,其中两段式提交就是解决分布式事务的一种方式。两段式提交设计本身的思路非常的容易理解,步骤如下:1. 协调员服务器(协调员)发送一条投票请求消息给所有参与这次事务的服务器(参与者)。2. 当一个参与者收...原创 2012-02-08 17:16:26 · 289 阅读 · 0 评论 -
分布式事务设计-三段式提交
前面的文章提到的两段式提交,已经能够很好得解决分布式事务了,然而两阶段在即使只有一个进程发生故障时(协调员发生故障了),那么整个系统中也会存在较长时间的block(参与者进程需要block直至协调员恢复,或者与其他参与者进程进行协同终止协议,直至获得决定)。但如果只有个别进程发生故障,就要长时间得被block住这就令人无法忍受,这个block时间能否减少。于是,3段式提交设计出现。在实际应用中,由...原创 2012-05-25 20:24:39 · 1011 阅读 · 0 评论 -
缓存客户端集群
Memcached Cache是集中式Cache,它仅仅是支持将数据能够分片分区的存储到一台或者多台的Cache Server实例中,但是这些数据并没有作冗余,因此任何一个服务实例不可用,都会导致部分缓存数据丢失。当然很多人采取持久化等方式来保证数据的完整性,但是这种方式对于效率以及恢复的复杂性都会有影响。简单的来想,为什么不把数据在多保存一份或者多份呢,当其中一份不可用的情况下,就用另外一份补上...原创 2011-03-18 17:12:33 · 106 阅读 · 0 评论 -
如何检测一台机器是否宕机?(转载)
检测一台机器是否宕机的应用场景如下:1, 工作机器宕机,总控节点需要能够检测到并且将原有服务迁移到集群中的其它节点。2, 总控节点宕机,总控节点的备份节点(一般称为Slave)需要能够检测到并替换成主节点继续对外服务。检测一台机器是否宕机必须是可靠的。在大规模集群中,机器可能出现各种异常,比如停电,磁盘故障,过于繁忙导致假死等。对于机器假死,如果总控节点认为机器宕机并将服务迁移到其它节...原创 2011-03-15 20:19:26 · 631 阅读 · 0 评论 -
淘宝OceanBase设计(转载)
OceanBase有什么特点 OceanBase设计和实现的时候暂时摒弃了许多不需要的DBMS的功能,例如临时表,视图(view),SQL语言支持等,这使得研发团队能够把有限的资源集中到关键的功能上,例如数据一致性、高性能的跨表事务、范围查询、join等(更多的信息以及其开源的软件:http://oceanbase.taobao.org/)。 虽然数据总量比较大,但跟许多行业一样,淘宝业务...原创 2011-03-14 16:26:01 · 169 阅读 · 0 评论 -
替代分布式事务策略
由于数据量的巨大,现在大部分的Web应用都需要部署很多个数据库实例。这样,有时候某些操作就可能需要去修改多个数据库实例中的数据。传统的解决方法是使用分布式事务保证数据的全局一致性,经典的方法是使用两阶段事务提交(我的blog中已经提到过),现在MySQL和PostgreSQL这类面向低端用户的开源数据库都支持分布式事务了,开发者泪在其中的同时,却没有考虑分布式事务是否给系统带来了伤害。 分...2011-06-10 19:59:45 · 174 阅读 · 0 评论 -
EhCache辅助spring Acegi
因为在项目中想通过缓存来acegi的整合,因此选用了Ehcache,后来发现被terracotta收购后的Ehcache,由原本一个简简单单的 Java 缓存引擎变成了一个解决方案,而项目本身更是切分为以下几个大模块:ehcache打包了所有的模块ehcache-core核心缓存引擎,RMI复制模块和 Hibernate 的插件...原创 2010-09-14 16:36:44 · 138 阅读 · 0 评论 -
Facebook运用软件
2010年6月,Facebook现在的经营规模,诸多传统服务器的技术均将崩溃或根本无法支撑。那么面对5亿的活跃用户,Facebook的工程师们又将如何让网站平稳运转呢?这篇文章将展示Facebook的工程师完成这个艰巨任务所用到的一系列软件。 Facebook级别规模的挑战在我们深入细节之前,先了解一组Facebook不得不面对数据,你就可以想象这种规模。1) Facebook每月的PV量...原创 2010-08-12 15:51:04 · 199 阅读 · 0 评论 -
ssh2(struts2+spring2.5+hibernate3.3+ajax)带进度条文件上传(封装成标签)
ssh2中文件带进度条的上传的demo有很多,但是大多数都是集成了上传的插件来实现的,如:swfupload,dwr等,功能也是非常强大,但是本上传组件没有集成任何插件来进行带进度条上传实现的。请大家在下载后,运行程序前了解本程序实现的原理,我在这里简单介绍一下实现的过程.struts2上传原理:struts2自身是封装了上传的操作的,它主要的实现的过程是先通过上传拦截器拦截后,对上传的文件大...2009-09-07 16:47:33 · 110 阅读 · 0 评论 -
ssh2(struts2+spring2.5+hibernate3.3)自动代码生成器程序
为什么需要自动生成代码?作为一个软件公司,开发团队非常重要,作为一个开发团队,人员配备、开发效率等都非常重要,但是开发效率包含很多,如:代码质量(扩展性、重构性等),但是这些都是建立在规范的代码之上来进行,在一个团队中,每个开发者都有自己的习惯方式来进行代码的编写,例如(ssh文件名举例):dao接口: 写法一:IXXXDao, 写法二:IXXXDAO 等等dao实现类: 写法一:...2009-09-05 16:15:05 · 145 阅读 · 0 评论 -
Acegi 各种加密方式详解
Acegi 对于密码提供三种方式:明文及不采用任何加密方式、MD5加密方式、哈希算法加密方式。只需要在DAO的认证管理器中分别加入一下对应一下配置:第一种:不使用任何加密方式的配置Java代码 <bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenti...原创 2009-08-17 11:09:31 · 161 阅读 · 0 评论 -
CA认证原理以及实现(下)
在上述的文章后了解到原理之后,我们这篇文章来进行CA的搭建。OPEN SSL 环境搭建在基础原理中我们提到了两种认证服务,单项认证服务和双向认证服务,我们就以双向认证服务举例说明。OpenSSL是一个开放源代码软件包,实现了SSL以及相关加密技术,是最常用的证书管理工具,OpenSSL功能远胜于KeyTool,可用于根证书(KeyTool不含有,因此KeyTool没有办法作为CA)、服务器证书...2012-09-10 20:38:58 · 1716 阅读 · 0 评论