当前位置:  编程技术>软件工程/软件设计
本页文章导读:
    ▪主-主数据库系统架构        经常有人问我们,如何建立分离式网络系统,将一组服务器放置在中国,供中国用户使用;另一组服务器放置在国外,供国际用户使用。 从根本上来讲,这是一个很困难的问题,没有最佳选择.........
    ▪java.lang.UnsupportedClassVersionError: Bad version number in .class file 解决办法      java.lang.UnsupportedClassVersionError: Bad version number in .class file 造成这种错误的原因是支撑Tomcat运行的JDK版本与支撑application运行的JDK版本不一致导致的. 把它们的JDK版本改成一致步骤如下: 1.Window --&g.........
    ▪eclipse项目出现红色叉叉解决方案      方法一:导入的文件被删除了。解决方法:右击项目名,在弹出的菜单中选择“Bulid Path”-->“configure build path”-->“Source”,找到已被删除的那个文件名,选择“remove”删除掉,再重新导.........

[1]主-主数据库系统架构
    来源: 互联网  发布时间: 2013-11-19

 

经常有人问我们,如何建立分离式网络系统,将一组服务器放置在中国,供中国用户使用;另一组服务器放置在国外,供国际用户使用。

从根本上来讲,这是一个很困难的问题,没有最佳选择方案。有很多选择方案,如采用Mongo数据库或使用主-主复制(即主机-主机复制),表面看起来很管用,但是会遇到很多几乎无法解决的实际问题,其实,这些方案根本就不能采用。

现今,我们还没有最钟意的解决方案,很多时候,我们唯一的选择就是将一套独立的系统放置在中间地理位置,如香港或东京的AWS,我们的用意在于,可以确保到中国大陆及港澳台地区以及到世界的其它国家和地区的连接基本可靠,当然,在中国,连接性能因地理位置不同而有所差异。

一个新的选择方案便是采用Tungsten Replicator, 它是一种数据库复制管理系统,最近,人们正在努力地开发此系统。它是开源的/商业性的,由Continuent研制的,可通过www.continuent.com, 获取详细信息。我们还未采用该系统,但是也许很快将会采用。

最近,我们也在考虑采用双重数据库,双重主-从系统(即主机-从机系统)在某些情况下非常实用,尤其适用于两个分离式的系统或在地理位置上是分离式的系统。例如,在电子商务或是交易类系统中,一方是上传产品和库存信息,而另一方是发出采购需求。关键是能够在两方实现彻底的读/写分离,或至少在两个数据库之间实现彻底的读/写分离。

基本理念就是:采用两组服务器,一组在中国大陆,另一组在香港,即一组服务器称作SA,另一组称作SB。在每台服务器上,安装两组完全独立的MySQL实例(嗯,都采用相同的二进制,但是采用两组不同的配置、不同的数据目录结构及不同的init脚本)。我们将这些实例称作IA 和IB, 有各自的独立的生产数据库,称作DBA 和DBB。 这一构想就是:大陆服务器SA 将成为DBA主机及DBB从机,而香港服务器将成为DBA从机及DBB主机。尽管两组服务器侦听端口号等各不相同,但是却进行正常的互相复制工作。

然后,在大陆,应用程序的很多工作在DBA上实现,仅在DBB上进行读操作。而在香港,服务器的很多工作将通过DBB实现,在DBA上仅实现读操作。

因为复制工作是服务器层面上的事情,不必在每个数据库上进行,所以,为确保进行合理的分离式控制及数据库复制,您将需要采用两个实例。

这事并不简单,但是如果您能够实现读/写分离,即分别在本地主机上实现写操作,在本地从机上实现读操作,那么您的系统会很健壮。如果您能够做到这些,您还需要谨慎的一点是:在全球范围内在两个地理位置建立双重系统,这些系统必须具有良好的性能且实现可靠的数据传输。

 

       (Authored by Steve Mushero / ChinaNetCloud CEO & CTO  本博客英文原文请点此查看)
作者:ChinaNetCloud 发表于2013-7-11 10:48:08 原文链接
阅读:17 评论:0 查看评论

    
[2]java.lang.UnsupportedClassVersionError: Bad version number in .class file 解决办法
    来源: 互联网  发布时间: 2013-11-19
java.lang.UnsupportedClassVersionError: Bad version number in .class file
造成这种错误的原因是支撑Tomcat运行的JDK版本与支撑application运行的JDK版本不一致导致的.
把它们的JDK版本改成一致步骤如下:
1.Window --> Preferences -->Java --> compiler中的compiler compliance level对应的下拉菜单中选择JDK版本.
2.Window --> Preferences -->MyEclipse --> Servers -->Tomcat --> Tomcat n.x -->JDK中的Tomcat JDK name下的下拉菜单中选择自身电脑上安装的JDK版本(必需与步骤1中的JDK版本一致).
作者:zc707212993 发表于2013-7-11 9:59:12 原文链接
阅读:64 评论:0 查看评论

    
[3]eclipse项目出现红色叉叉解决方案
    来源: 互联网  发布时间: 2013-11-19

方法一:导入的文件被删除了。解决方法:右击项目名,在弹出的菜单中选择“Bulid Path”-->“configure build path”-->“Source”,找到已被删除的那个文件名,选择“remove”删除掉,再重新导入该文件。

方法二:可能是项目之前的JRE环境跟当前的不一致。解决方法:右击项目-->Build Path -->configure build path,找到Libraries标签页,在列表框底部找到“JRE System Library”这一项,选中它并单击“Remove”按钮,然后再单击“Add Library”按钮,在弹出窗口中选中“JRE System Library” --> Next -->Finish。

作者:cl05300629 发表于2013-7-11 11:06:41 原文链接
阅读:59 评论:0 查看评论

    
最新技术文章:
▪主-主数据库系统架构    ▪java.lang.UnsupportedClassVersionError: Bad version number i...    ▪eclipse项目出现红色叉叉解决方案
▪Play!framework 项目部署到Tomcat    ▪dedecms如何做中英文网站?    ▪Spring Batch Framework– introduction chapter(上)
▪第三章 AOP 基于@AspectJ的AOP    ▪基于插件的服务集成方式    ▪Online Coding开发模式 (通过在线配置实现一个表...
▪观察者模式(Observer)    ▪工厂模式 - 程序实现(java)    ▪几种web并行化编程实现
▪机器学习理论与实战(二)决策树    ▪Hibernate(四)——全面解析一对多关联映射    ▪我所理解的设计模式(C++实现)——解释器模...
▪利用规则引擎打造轻量级的面向服务编程模式...    ▪google blink的设计计划: Out-of-Progress iframes    ▪FS SIP呼叫的消息线程和状态机线程
▪XML FREESWITCH APPLICATION 实现    ▪Drupal 实战    ▪Blink: Chromium的新渲染引擎
▪(十四)桥接模式详解(都市异能版)    ▪你不知道的Eclipse用法:使用Allocation tracker跟...    ▪Linux内核-进程
▪你不知道的Eclipse用法:使用Metrics 测量复杂度    ▪IT行业为什么没有进度    ▪Exchange Server 2010/2013三种不同的故障转移
▪第二章 IoC Spring自动扫描和管理Bean    ▪CMMI简介    ▪目标检测(Object Detection)原理与实现(六)
▪值班总结(1)——探讨sql语句的执行机制    ▪第二章 IoC Annotation注入    ▪CentOS 6.4下安装Vagrant
▪Java NIO框架Netty1简单发送接受    ▪漫画研发之八:会吃的孩子有奶吃    ▪比较ASP和ASP.NET
▪SPRING中的CONTEXTLOADERLISTENER    ▪在Nginx下对网站进行密码保护    ▪Hibernate从入门到精通(五)一对一单向关联映...
▪.NET领域驱动设计—初尝(三:穿过迷雾走向光...    ▪linux下的块设备驱动(一)    ▪Modem项目工作总结
▪工作流--JBPM简介及开发环境搭建    ▪工作流--JBPM核心服务及表结构    ▪Eclipse:使用JDepend 进行依赖项检查
▪windows下用putty上传文件到远程Linux方法    ▪iBatis和Hibernate的5点区别    ▪基于学习的Indexing算法
▪设计模式11---设计模式之中介者模式(Mediator...    ▪带你走进EJB--JMS编程模型    ▪从抽象谈起(二):观察者模式与回调
▪设计模式09---设计模式之生成器模式(Builder)也...    ▪svn_resin_持续优化中    ▪Bitmap recycle方法与制作Bitmap的内存缓存
▪Hibernate从入门到精通(四)基本映射    ▪设计模式10---设计模式之原型模式(Prototype)    ▪Dreamer 3.0 支持json、xml、文件上传
▪Eclipse:使用PMD预先检测错误    ▪Jspx.net Framework 5.1 发布    ▪从抽象谈起(一):工厂模式与策略模式
▪Eclipse:使用CheckStyle实施编码标准    ▪【论文阅读】《Chain Replication for Supporting High T...    ▪Struts2 Path_路径问题
▪spring 配置文件详解    ▪Struts2第一个工程helloStruts极其基本配置    ▪Python学习入门基础教程(learning Python)--2 Python简...
▪maven springmvc环境配置    ▪基于SCRUM的金融软件开发项目    ▪software quality assurance 常见问题收录
▪Redis集群明细文档    ▪Dreamer 框架 比Struts2 更加灵活    ▪Maven POM入门
▪git 分支篇-----不断更新中    ▪Oracle非主键自增长    ▪php设计模式——UML类图
▪Matlab,Visio等生成的图片的字体嵌入问题解决...    ▪用Darwin和live555实现的直播框架    ▪学习ORM框架—hibernate(二):由hibernate接口谈...
▪(十)装饰器模式详解(与IO不解的情缘)    ▪无锁编程:最简单例子    ▪【虚拟化实战】网络设计之四Teaming
▪OSGi:生命周期层    ▪Javascript/Jquery——简单定时器    ▪java代码 发送GET、POST请求
▪Entity Framework底层操作封装(3)    ▪HttpClient 发送GET、POST请求    ▪使用spring框架,应用启动时,加载数据
▪Linux下Apache网站目录读写权限的设置    ▪单键模式的C++描述    ▪学习ORM框架—hibernate(一):初识hibernate
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3