`
thinkerAndThinker
  • 浏览: 276637 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
本文着重介绍sharding的基本思想和理论上的切分策略,关于更加细致的实施策略和参考事例请参考我的另一篇博文:数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示    一、基本思想       Sharding的基本思想就要把 ...
最近看了很多公司架构的演变的文章,发现其中的基本思路和架构演变都很类似,这里也总结一下数据库架构的演变以及演变背后的思路。 单主机 最开始网站一般都是由典型的LAMP架构演变而来的,一般都是一台linux主机,一台apache服务器,php执行环境以及mysql服务器,一般情况下,这些都在一台虚拟主机上,简称单主机模式。   单主机模式缺点: 1 web服务器和mysql服务器公用一台主机,共享硬件资源,可能存在某一方资源征用太大,导致整个应用产生瓶颈 2 当业务增长之后,没有办法做到横向扩展。 3 容错性太差,一旦主机存在问题,整个应用不可用 独立主机
1.51.自动装箱与拆箱:2.枚举(常用来设计单例模式)3.静态导入4.可变参数5.内省1.61.Web服务元数据2.脚本语言支持3.JTable的排序和过滤4.更简单,更强大的JAX-WS5.轻量级Http Server6.嵌入式数据库 Derby1.71,switch中可以使用字串了2.运用List<String> tempList = new ArrayList<>(); 即泛型实例化类型自动推断3.语法上支持集合,而不一定是数组4.新增一些取环境信息的工具方法5.Boolean类型反转,空指针安全,参与位运算6.两个char间的equals 7.安全的加减乘除  ...
1. 单一职责原则(Single Responsibility Principle)   每一个类应该专注于做一件事情。   2. 里氏替换原则(Liskov Substitution Principle)   超类存在的地方,子类是可以替换的。   3. 依赖倒置原则(Dependence Inversion Principle)   实现尽量依赖抽象,不依赖具体实现。   4. 接口隔离原则(Interface Segregation Principle)   应当为客户端提供尽可能小的单独的接口,而不是提供大的总的接口。   5. 迪米特法则(Law O ...
范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。通常所用到的只是前三个范式,即:第一范式(1NF),第二范式(2NF),第三范式(3NF)。下面就简单介绍下这三个范式。 ◆ 第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。 考虑这样一个表:【联系人】(姓名,性别,电话) 如果在实际场景中,一个联系 ...
一.检查 1、[root@localhost ~]# telnet  bash: telnet: command not found  2、 查询了是否安装Telnet包,结果如下:  [root@localhost ~]# rpm -qa telnet*  telnet-server-0.17-47.el6.i686  3、又查询了xinetd的状态:  [root@localhost ~]# service xinetd status  xinetd ( ...
今天学习了一下JavaMail,javamail发送邮件确实是一个比较麻烦的问题。为了以后使用方便,自己写了段代码,打成jar包,以方便以后使用。 以下三段代码是我的全部代码,朋友们如果想用,直接复制即可。   第一个类:MailSenderInfo.java   package com.util.mail;   /**   * 发送邮件需要使用的基本信息 *author by wangfunhttp://www.5a520.cn 小说520  */    import java.util.Properties;    
一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。 一 般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常     一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。 一 般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是M-S(主- 从 ...
1         异常和日志的作用1.1.    异常的作用 Java异常机制是为了对程序中可能出现的已知错误进行捕获,并进行相应处理。从是否反馈给用户来看,存在两类异常: 系统异常:这类异常由系统本身的低级异常引起,例如数据库连接失败、内存溢出、空指针异常等等,这类异常不需要出现在前台,因为用户看不懂也没有必要看到这些异常信息。这类异常需要在日志中进行完整记录以供日后开发人员进行查看分析。 应用异常:即自定义异常,这类异常需要通过前台反馈给用户,友好提示用户当前操作异常。应用异常通过系统异常转换而来,例如新建用户时,发生“主键冲突异常”,则需要在UserinfoDao中将“主键冲突异 ...
 mysql 创建 数据库时指定编码很重要,很多开发者都使用了默认编码,乱码问题可是防不胜防。制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。   网页数据一般采用UTF8编码,而数据库默认为latin 。我们可以通过修改数据库默认编码方式为UTF8来减少数据库创建时的设置,也能最大限度的避免因粗心造成的乱码问题。     我们遵循的标准是,数据库,表,字段和页面或文本的编码要统一起来     我们可以通过命令查看数据库当前编码:     mysql> SHOW VARIABLES LIKE 'character%';     发现很多对应的都是 latin1 ...
    mysql> grant all privileges on *.* to root@"%" identified by "."; Query OK, 0 rows affected (0.00 sec)     mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
    @RequestMapping(value = “/sendSignal/{state}/{limberId}/{account}“, method = RequestMethod.GET)    @ResponseBody    public Map signal(@PathVariable int state, @PathVariable String limberId, @PathVariable String account) {        System.out.println("参数:"+state+"/"+limberId+&q ...
设计模式(Design Patterns)                                   ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代 码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用 设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以 ...
转载自:http://www.cnblogs.com/hoojo/archive/2012/07/12/2587556.html Ehcache在很多项目中都出现过,用法也比较简单。一般的加些配置就可以了,而且Ehcache可以对页面、对象、 数据进行缓存,同时支持集群/分布式缓存。如果整合Spring、Hibe ...
1.现象:action无报错,客户端页面报错,无资源;    解答:资源地址有错误;    2.现象:控制台报错:org.hibernate.ObjectNotFoundException: No row with the given identifier exists:   [com.tekview.apex.itsm.common.bo.columnInfo.Column#0]     解答:     问题产生原因: 有一个对象A,关联了对象B ,关联关系可以使 ManyToOne,On eToOne 等,如果我们在数据库中清除了B对象,但是B对象还在A表中存在外键,这时候H ...
Global site tag (gtag.js) - Google Analytics