- 博客(68)
- 收藏
- 关注
原创 大二层网络技术背景及主要技术方向
一、为什么需要大二层传统的三层数据中心架构结构的设计是为了应付服务客户端-服务器应用程序的纵贯式大流量,同时使网络管理员能够对流量流进行管理。工程师在这些架构中采用生成树协议(STP)来优化客户端到服务器的路径和支持连接冗余。 虚拟化从根本上改变了数据中心网络架构的需求。最重要的一点就是,虚拟化引入了虚拟机动态迁移技术。从而要求网络支持大范围的二层域。从根本上改变了传统三层网络统治数据中心
2014-11-06 20:49:06 20845
转载 http协议的无状态特征、session、cookie
HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。客户端与服务器进行动态交互的Web应用程序出现之后,HTTP无状态的特性严重阻碍了这些应用程序的实现,毕竟交互是需要承前启后的,简单的购物车程序也要知道用户到底在之前选择了什
2014-05-15 23:20:57 1846
转载 nginx模型分析
Nginx的高并发得益于其采用了epoll模型,与传统的服务器程序架构不同,下面通过比较Apache和Nginx工作原理来比较。一、传统Apach,eselect模型,阻塞型,都是多进程或者多线程来工作,假设是多进程工作(prefork),apache会先生成几个进程,类似进程池的工作原理,只不过这里的进程池会随着请求数目的增加而增加。对于每一个连接,apache都是在一个进程内处理完毕。
2014-05-14 22:14:44 869
原创 web组件间的关系-forward、url重定向
一、forward跳转forward是mvc框架中常用的一种,实现servlet之间、servlet与jspjia
2014-05-13 23:52:01 1779
转载 servlet技术简要总结
1.服务器如何调用servlet的? servlet是运行在服务器的程序,当客机请求服务器的时候,服务器servlet会调用service方法,它会自动判断如果它是get方式提交,那么 就调用doget()方法如果是post提交就调用dopost()方法.我们只需要重写doget()跟dopost()方法即可! 2.servlet与生命周期相关的方法
2014-05-12 23:43:14 1082
原创 sevlet运行原理
当Web服务器接收到一个HTTP请求时,它会先判断请求内容——如果是静态网页数据,Web服务器将会自行处理,然后产生响应信息;如果牵涉到动态数据,Web服务器会将请求转交给Servlet容器。此时Servlet容器会找到对应的处理该请求的Servlet实例来处理,结果会送回Web服务器,再由Web服务器传回用户端
2014-05-12 23:37:00 707
原创 servlet基础
Servlet运行在Servlet容器中,其生命周期由容器来管理。Servlet的生命周期通过javax.servlet.Servlet接口中的init()、service()和destroy()方法来表示。 Servlet的生命周期包含了下面4个阶段: 加载和实例化 Servlet容器负责加载和实例化Servlet。当Servlet容器启动时,或者在容器检测到需要
2014-05-12 23:11:49 903
转载 JSP的内置对象概述
1,out: out对象是JspWriter类的实例,是向客户端输出内容常用的对象; JSP的输出流,,等同于表达式;代码out.println("test"); 2,request: 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应.它是HttpServletRequest类的实例. 获取表单提交参数,在请求完成
2014-05-09 21:37:33 627
原创 分布式数据库【3、关于持久消息的应用背景、及2PC的关系、并发控制】
我们知道,2PC容易在协调器失效的情况下容易产生阻塞,也就是2PC提交的阻塞问题是不能够接受的;另外一种解决方案是采用持久消息persisent msg来解决问题;场景分析:1、2个银行的转账操作,一种方案是采用分布式事务,然而该事务容易产生阻塞问题;另外一种方案是采用支票进行转账;银行A首先从可用的余额内扣除支票金额,然后派送支票,然后银行B接受支票,更新可用余额,支票则形成了一次消息传
2014-03-25 22:47:54 929
转载 关于垂直切分Vertical Sharding的粒度
原文地址 http://blog.csdn.net/bluishglc/article/details/6274841垂直切分的粒度指的是在做垂直切分时允许几级的关联表放在一个shard里.这个问题对应用程序和sharding实现有着很大的影响.关联打断地越多,则受影响的join操作越多,应用程序为此做出的妥协就越大,但单表的路由会越简单,与业务的关联性会越小,就越
2014-03-24 23:33:14 772
转载 数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案
原文地址http://blog.csdn.net/bluishglc/article/details/7970268作为一种数据存储层面上的水平伸缩解决方案,数据库Sharding技术由来已久,很多海量数据系统在其发展演进的历程中都曾经历过分库分表的Sharding改造阶段。简单地说,Sharding就是将原来单一数据库按照一定的规则进行切分,把数据分散到多台物理机(我们称之为Shard)上存
2014-03-24 23:28:18 1274
转载 数据库分库分表(sharding)系列(四) 多数据源的事务处理
本文原文链接:http://blog.csdn.net/bluishglc/article/details/7793172 转载请注明出处!系统经sharding改造之后,原来单一的数据库会演变成多个数据库,如何确保多数据源同时操作的原子性和一致性是不得不考虑的一个问题。总体上看,目前对于一个分布式系统的事务处理有三种方式:分布式事务、基于Best Efforts 1PC模式的事务以及事务补偿
2014-03-24 23:24:46 893
转载 数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量
本文原文连接: http://blog.csdn.net/bluishglc/article/details/7766508 转载请注明出处!当团队对系统业务和数据库进行了细致的梳理,确定了切分方案后,接下来的问题就是如何去实现切分方案了,目前在sharding方面有不少的开源框架和产品可供参考,同时很多团队也会选择自主开发实现,而不管是选择框架还是自主开发,都会面临一个在哪一层上实现shar
2014-03-24 23:22:46 769
转载 数据库分库分表(sharding)系列(二) 全局主键生成策略
本文原文连接: http://blog.csdn.net/bluishglc/article/details/7710738 ,转载请注明出处!第一部分:一些常见的主键生成策略一旦数据库被切分到多个物理结点上,我们将不能再依赖数据库自身的主键生成机制。一方面,某个分区数据库自生成的ID无法保证在全局上是唯一的;另一方面,应用程序在插入数据之前需要先获得ID,以便进行
2014-03-24 23:20:16 902
转载 数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示
本文原文连接: http://blog.csdn.net/bluishglc/article/details/7696085 ,转载请注明出处!第一部分:实施策略图1.数据库分库分表(sharding)实施策略图解(点击查看大图)1.准备阶段对数据库进行分库分表(Sharding化)前,需要开发人员充分了解系统业务逻辑和数
2014-03-24 23:17:30 1042
转载 数据库Sharding的基本思想和切分策略
原文出处,http://blog.csdn.net/bluishglc/article/details/6161475一、基本思想 Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表
2014-03-24 23:12:07 840
原创 分布式数据库【2、两阶段提交协议2PC】【部分转载】
2PC,保障分布式事务原子性,既在所有站点上要么全部commit,要么全部abort,回滚;2PC:实现分布式事务的关键就是两阶段提交协议。在此协议中,一个或多个资源管理器的活动均由一个称为事务协调器部件来控制。step如下:1、 应用程序调用事务协调器中的提交方法事务协调器(transaction coordinator)将联络事务中涉及的每个事务管理器(transaction
2014-03-24 23:05:18 7499
原创 数据库事务的概念、理解【为了理解nosql】
一、事物的几个特征:ACID属性原子性:事务的所有操作要么全部执行,要么全部不执行(注:一个事务包括多个操作,可有SQL编程决定);(注:转账操作);一致性:隔离(单独)执行事务时,保持数据库的一致性;(如果一个事务作为原子从一个一致的db状态开始执行,则事务执行结束后,db必须仍然是一致的)【确保单个事务的一致性是程序员应该考虑的问题】隔离性:每个事务执行时,都无法感知到DB内其他事
2014-03-23 21:20:56 1057
原创 关于位图索引
主要谈谈位图索引;位图索引主要是为多码上的简单查询建立的特殊索引,利用计算特征(and、or)等;典型案例:1、table,包括id、name、gender、income;gender取值包括male、female;income取值在某个区间内如1000-10000; 1232 sun male 19001128 wang female 21
2014-03-23 20:08:16 1108
原创 关于DB索引、一致性哈希算法的思考(我认为都是解决伸缩性的问题)
关于一致性哈希算法的背景:解决通过程序伸缩增加分布式缓存节点产生的数据命中率急剧降低、并可能产生大量对DB直接操作的压力,可能导致DB宕机;数据库建立索引是常见场景,包括哈希索引、位图索引;但是DB建立索引必须要考虑代价问题:必须要考虑insert 、update、delete 操作对index的影响,也就是“系统影响”;那么我们来看,上述问题产生的背景均是考虑如何解决新增
2014-03-23 19:53:47 1224
转载 四层 七层负载均衡
四层和七层负载均衡的区别介绍简单理解四层和七层负载均衡:①所谓四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡;同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。 换句换说,二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址;四层通过虚拟I
2014-03-21 00:36:38 1014
原创 关于集群软件【部分转载】
集群主要有三个目的,1,高性能计算, 有pbs, mpi等2,负载均衡, LVS等3,高可用性(冗余备份), heartbeat等
2014-03-20 21:28:26 757
原创 数据建模-实体联系的设计问题
问题:1、使用实体集还是使用属性?作为instuctor的属性phone(注:可能具备多个phone number),那么我们使用phone作为instructor的一个属性??or 新建实体集phone(phone,location),并增加联系集inst_phone(instID,phonenum)该种情况下使用实体集更具备通用性;(当然,可以使用属性的设置集合方式);Q:什么
2014-03-17 22:16:22 893
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人