只显示主题贴

jackflit 写道收据实话,除了银行有啥业务是丢数据就会死人的吗? 丢数据没有啥不可接受的。 只要99%的正常情况不丢,就够了 程序员何苦自己为难自己。 丢数据就会死人的应用很多,但凡涉及钱的,都要求严格的acid
  • 进入论坛 Java
ztka 写道csrcom 写道这个话题我们先到这儿啊 嗯,你可以试试看,加入相互侦测机制,做到相互fail over。不然你软件本身没有failover机制。你可以利用第三方,但是这样不保险。 建议看看官方的MySQL Cluster技术架构图。 ApplicationNode, DataNode, ManagementNode 1相当于query,2相当于存储,3就是你们说得第三方。它负责心跳检测、数据replication的规则等
  • 进入论坛 Java
看了几篇之后提个问题:这个Amoeba跟Mysql NDB,也就是现在的MySQL Cluster有啥区别? 本来mysql-proxy只是读写分离和简单复制。如果Amoeba是对mysql-proxy的加强,那也倒是ok了。但Amoeba居然加入了HA方面的部分特性,那直接上升到MySQL Cluster的高度了。这个是不是……?
  • 进入论坛 Java
Quake Wang 写道这样做会不会更好一些? 在Config这个class所在的package下面,有一个同名的Config.properties文件,里面有设置同名field的值: accounts=xxx user=xxx password=xxx 然后实现一个BeanPostProcessor来根据这个约定来注入值。 这样就省了在Config.java文件写一堆的@Properties annotation,如果你觉得在某些情况下properties文件无法保证和field同名这个约定,你也可以再以@Properties annotation为优先设定。 请问有没有在这 ...
  • 进入论坛 Java
taowen 写道我想robbin的意思其实是如果只有一个client,也就是在只有web层用它的情况下,service层除了啰嗦没啥价值,不如直接合并进web层。我对这个问题的看法是,要看service层中的具体服务到底有几个用户。如果到处都是只有一个用户的service,我们还要抽象出好多接口和对象来提供这些服务,不如直接在用的地方写就好了。在实际的,简单的web项目中,好像取消service层,让service层的用户也就是web层来实现事务控制安全控制好像更符合务实的精神。其实有三个选项:1、分层,2、分对象,3、分方法。简单情况下,取消service层,把起职责散布成web层的一些对 ...
  • 进入论坛 Java
Readonly 写道ahuaxuan 写道 Model一个field上挂了O/R Mapping, Full Text Index, Validation, Security...如果这么多配置不放在annotation中还是需要放在配置文件中,那么一个model就需要很多配置文件了 偶的意见就是要分开多个配置文件,减少Line Of Code per File,减少维护成本,降低出错概率,分离关注点。 如果说联系较紧密,那么关注点还是集中的好。 比如orm映射,实在没必要把pojo field mapping分离到pojo外面去;比如request映射,pojo action和req ...
  • 进入论坛 Java
点击量是个典型的高频率读写系统,对缓存使用的常规策略一概无效,加上这个数据的价值不是很高(可靠性和事务性要求没有了),所以可以采用这样的方式: 延迟写; 每次写的时候直接从数据库同步到最新数据,使用增量方式; 拒绝分布式缓存(高失效性),拒绝单点缓存(访问频率太高,连接过多),只能够使用单机自己的缓存;
  • 进入论坛 Java
newfan 写道最近在做一个项目,和其他厂商的产品做接口,我们这边需要知道其他产品的数据变化来做相应的处理。 然而其他厂商不会对自身产品修改,他们的数据库结构也不会修改。 我们面临着众多产品,众多数据库中的数据变化,查了很多东西,没有一个好的思路。 如果用触发器,就要为所有的表建立一个触发器和一个变化表,太麻烦。 网上还有说compass、hibernate的orm能感知数据变化,我没有看太多,不过我想这些应该是建立在中间层的东西,就是说要其他厂商改变他们的产品结构,不知道我说的对不对。 请教各位,大家有什么好的办法吗? 通过DatabaseMetadata动态创建所有触发器和变化表,最 ...
  • 进入论坛 Java
半年多以前,当时就是在完善一份自己的范型DAO,从googlecode上搜到warp了。  @Finder(query="from Person") List<Person> listAll(@FirstResult int first, @MaxResults int max); 看到这个的时候,的确感到惊艳。 但静下来想想,问题大过于漂亮。 这样子做好处在于,只使用DAO接口,而取消了DAO的实现类(记得没错的话,它好像是动态生成一个实现类) 。但就这点优势够大么?我不认为:1、它只能提供最基础的db操作,也就是模拟dao中最简单的那种, ...
  • 进入论坛 Java
[quote="robbin"]简单的解决办法是这样的:查询语句使用Hibernate的native SQL,可以在查询语句里面动态绑定不同的数据库表,实现动态查询不同的slave数据库 或者复杂一些,你可以钻研一下Hibernate Shards,这个是Google公司捐献给Hibernate的项目,利用Hibernate进行分布式数据库访问,做的相当不错。 [/quote] 如果没有明确切换数据库要求的话,其实采用数据库自己的解决方案会更好,比如Mysql有自己的NDB作为SNA集群的解决方案。以NDB为例,仔细研究完它之后,会发现:NDB面对的困难(事务,跨表连接,视图),shar ...
  • 进入论坛 Java
kabbesy
搜索本博客
博客分类
最近加入圈子
最新评论
评论排行榜