架构设计
文章平均质量分 67
convay
持之以恒或半途而废,回想过去,半途而废及浅尝辄止的事情甚多...
展开
-
关于集群软件【部分转载】
集群主要有三个目的,1,高性能计算, 有pbs, mpi等2,负载均衡, LVS等3,高可用性(冗余备份), heartbeat等原创 2014-03-20 21:28:26 · 757 阅读 · 0 评论 -
一致性哈希算法的背景及解释、应用
一、背景一个设计良好的分布式哈希方案应该具有良好的单调性,即服务节点的增减不会造成大量哈希重定位;常见的缓存情况:在分布式缓存集群中,对机器的添加删除,或者机器故障后自动脱离集群这些操作是分布式集群管理最基本的功能。如果采用常用的hash(object)%N算法,那么在有机器添加或者删除后,很多原有的数据就无法找到了;具体案例如下:object.hashCode()% 4。原创 2015-01-16 10:30:27 · 971 阅读 · 0 评论 -
WEB服务器、应用程序服务器、HTTP服务器区别
WEB服务器、应用程序服务器、HTTP服务器有何区别?IIS、Apache、Tomcat、Weblogic、WebSphere都各属于哪种服务器,这些问题困惑了很久,今天终于梳理清楚了: Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL。与客户端的网络浏览器配合。因为Web服务器主要支持的协议就是HTTP,所以通常情况下HTTP服务器转载 2015-01-21 20:10:11 · 479 阅读 · 0 评论 -
设计模式二:策略模式
定义:策略模式(policy pattern)是定义一组算法,将每个算法都封装起来,使他们可以互相交换;其本质是使用了OOP的继承及多态机制,包括context封装角色、Strategy抽象策略角色、ConcreteStrategy角色;案例:public interface Stragety { public void Doprint();}publ原创 2015-01-25 15:42:33 · 573 阅读 · 0 评论 -
Web服务架构入门概述
[摘要]本Web服务架构入门阐述了Web服务架构的基础设计原则和Web服务的基础技术。此外还对其功能进行了介绍,并提供了对其进行正式定义的规范链接。本文也是该架构所有规范的参考指南。XML和Infoset 对于所有的消息传递系统来说,选择信息传输单位是非常重要的——简单地说,对消息的构成有个一般的认识是必不可少的。在Web服务中,一条消息就是一个XML文档信息项,它由XML信息集转载 2015-02-15 10:25:28 · 1583 阅读 · 0 评论 -
有关web service
Web service平台需要一套协议来实现分布式应用程序的创建。Web service平台必须提供一套标准的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统。在传统的分布式系统中,基于界面(interface)的平台提供了一些方法来描述界面、方法和参数(译注:如COM和COBAR中的IDL语言)。同样的,Web service平台也必须提供一种标准来描述Web service,原创 2015-02-14 20:58:01 · 585 阅读 · 0 评论 -
Web Service概述
part1. Web Service概述-----------------------------------------------------一、 Web Service概述 1.动机 1) 今天,万维网的主要用途是交互式的访问文档和应用程序; 2) 大多数时候,这些访问是通过浏览器、音频播放器或其它交互式的前-后端系统; 3) W3C: “假转载 2015-02-15 11:50:28 · 931 阅读 · 0 评论 -
GlusterFS技术概要分析(转自oschina)
1. GlusterFS 概述GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS借助TCP/IP或InfiniBand RDMA网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。GlusterFS基于可堆叠的用户空间设转载 2015-05-31 13:58:57 · 1208 阅读 · 0 评论 -
有关微服务的多种解释与理解【摘自网络】,不完全赞同的文章
1. 负责单个功能2. 单独部署3. 包含一个或多个进程4. 拥有自己的数据存储5. 一支小团队就能维护几个微服务6. 可替换的负责单个功能微服务在整个系统中只负责单个功能。这句话分解来说包含两部分内容:第一,微服务只有单个责任;第二,负责的是功能。单一责任原则有几种描述,其中一个传统的描述是:“当需要修改某个类的时候原因有且只有原创 2015-12-26 10:58:23 · 724 阅读 · 0 评论 -
面向服务与微服务架构
背景最近阅读了 Martin Fowler 和 James Lewis 合著的一篇文章 Microservices, 文中主要描述和探讨了最近流行起来的一种服务架构模式——微服务,和我最近几年工作的实践比较相关感觉深受启发。本文吸收了部分原文观点,结合自身实践经验来探讨下服务架构模式的演化。面向服务架构(SOA)面向服务架构 SOA 思想概念的提出已不是什么新鲜事,大概转载 2015-12-26 11:04:05 · 506 阅读 · 0 评论 -
微服务化架构演进与人员组织
微服务架构思路对组织影响的进一步思考。」今年开始系统演化进入了第四个大版本,前两个版本我们采用的单一应用模式,核心开发团队也只有五、六人。前年团队扩张到了近 20 人左右,单一应用的维护协作成本已变得不可忽视,服务化拆分时进入第三版时我们做出的一个选择,但当时拆分粒度其实较粗,方便把团队拆分为几个小组来分别维护不同的服务和子系统。两年来随着业务的发展,每个当初拆转载 2015-12-26 11:06:49 · 737 阅读 · 0 评论 -
微服务架构实践感悟
从去年初开始接触微服务架构的一些理念,然后到今年开始实施系统第四个大版本的架构升级决定采用这套架构理念。 最近关于微服务架构的讨论还是多起来,因为国外一些著名互联网公司(如:Amazon、Netflix 等)从实践中摸索出了一套新的大型系统架构方法论,并取得了成功,树立了很好的示范,然后这套方法论渐渐就被一些技术理论派 人士命名为微服务架构(Microservices)。在微服务架转载 2015-12-26 21:14:43 · 551 阅读 · 0 评论 -
有关“无状态“的理解
一、什么是无状态?原创 2014-05-15 23:51:49 · 2290 阅读 · 0 评论 -
http协议的无状态特征、session、cookie
HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。客户端与服务器进行动态交互的Web应用程序出现之后,HTTP无状态的特性严重阻碍了这些应用程序的实现,毕竟交互是需要承前启后的,简单的购物车程序也要知道用户到底在之前选择了什转载 2014-05-15 23:20:57 · 1846 阅读 · 0 评论 -
四层 七层负载均衡
四层和七层负载均衡的区别介绍简单理解四层和七层负载均衡:①所谓四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡;同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。 换句换说,二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址;四层通过虚拟I转载 2014-03-21 00:36:38 · 1014 阅读 · 0 评论 -
关于DB索引、一致性哈希算法的思考(我认为都是解决伸缩性的问题)
关于一致性哈希算法的背景:解决通过程序伸缩增加分布式缓存节点产生的数据命中率急剧降低、并可能产生大量对DB直接操作的压力,可能导致DB宕机;数据库建立索引是常见场景,包括哈希索引、位图索引;但是DB建立索引必须要考虑代价问题:必须要考虑insert 、update、delete 操作对index的影响,也就是“系统影响”;那么我们来看,上述问题产生的背景均是考虑如何解决新增原创 2014-03-23 19:53:47 · 1224 阅读 · 0 评论 -
数据库事务的概念、理解【为了理解nosql】
一、事物的几个特征:ACID属性原子性:事务的所有操作要么全部执行,要么全部不执行(注:一个事务包括多个操作,可有SQL编程决定);(注:转账操作);一致性:隔离(单独)执行事务时,保持数据库的一致性;(如果一个事务作为原子从一个一致的db状态开始执行,则事务执行结束后,db必须仍然是一致的)【确保单个事务的一致性是程序员应该考虑的问题】隔离性:每个事务执行时,都无法感知到DB内其他事原创 2014-03-23 21:20:56 · 1058 阅读 · 0 评论 -
数据库分库分表(sharding)系列(二) 全局主键生成策略
本文原文连接: http://blog.csdn.net/bluishglc/article/details/7710738 ,转载请注明出处!第一部分:一些常见的主键生成策略一旦数据库被切分到多个物理结点上,我们将不能再依赖数据库自身的主键生成机制。一方面,某个分区数据库自生成的ID无法保证在全局上是唯一的;另一方面,应用程序在插入数据之前需要先获得ID,以便进行转载 2014-03-24 23:20:16 · 902 阅读 · 0 评论 -
关于垂直切分Vertical Sharding的粒度
原文地址 http://blog.csdn.net/bluishglc/article/details/6274841垂直切分的粒度指的是在做垂直切分时允许几级的关联表放在一个shard里.这个问题对应用程序和sharding实现有着很大的影响.关联打断地越多,则受影响的join操作越多,应用程序为此做出的妥协就越大,但单表的路由会越简单,与业务的关联性会越小,就越转载 2014-03-24 23:33:14 · 772 阅读 · 0 评论 -
数据库Sharding的基本思想和切分策略
原文出处,http://blog.csdn.net/bluishglc/article/details/6161475一、基本思想 Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表转载 2014-03-24 23:12:07 · 840 阅读 · 0 评论 -
数据库分库分表(sharding)系列(四) 多数据源的事务处理
本文原文链接:http://blog.csdn.net/bluishglc/article/details/7793172 转载请注明出处!系统经sharding改造之后,原来单一的数据库会演变成多个数据库,如何确保多数据源同时操作的原子性和一致性是不得不考虑的一个问题。总体上看,目前对于一个分布式系统的事务处理有三种方式:分布式事务、基于Best Efforts 1PC模式的事务以及事务补偿转载 2014-03-24 23:24:46 · 893 阅读 · 0 评论 -
分布式数据库【3、关于持久消息的应用背景、及2PC的关系、并发控制】
我们知道,2PC容易在协调器失效的情况下容易产生阻塞,也就是2PC提交的阻塞问题是不能够接受的;另外一种解决方案是采用持久消息persisent msg来解决问题;场景分析:1、2个银行的转账操作,一种方案是采用分布式事务,然而该事务容易产生阻塞问题;另外一种方案是采用支票进行转账;银行A首先从可用的余额内扣除支票金额,然后派送支票,然后银行B接受支票,更新可用余额,支票则形成了一次消息传原创 2014-03-25 22:47:54 · 929 阅读 · 0 评论 -
数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示
本文原文连接: http://blog.csdn.net/bluishglc/article/details/7696085 ,转载请注明出处!第一部分:实施策略图1.数据库分库分表(sharding)实施策略图解(点击查看大图)1.准备阶段对数据库进行分库分表(Sharding化)前,需要开发人员充分了解系统业务逻辑和数转载 2014-03-24 23:17:30 · 1042 阅读 · 0 评论 -
数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案
原文地址http://blog.csdn.net/bluishglc/article/details/7970268作为一种数据存储层面上的水平伸缩解决方案,数据库Sharding技术由来已久,很多海量数据系统在其发展演进的历程中都曾经历过分库分表的Sharding改造阶段。简单地说,Sharding就是将原来单一数据库按照一定的规则进行切分,把数据分散到多台物理机(我们称之为Shard)上存转载 2014-03-24 23:28:18 · 1274 阅读 · 0 评论 -
数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量
本文原文连接: http://blog.csdn.net/bluishglc/article/details/7766508 转载请注明出处!当团队对系统业务和数据库进行了细致的梳理,确定了切分方案后,接下来的问题就是如何去实现切分方案了,目前在sharding方面有不少的开源框架和产品可供参考,同时很多团队也会选择自主开发实现,而不管是选择框架还是自主开发,都会面临一个在哪一层上实现shar转载 2014-03-24 23:22:46 · 769 阅读 · 0 评论 -
有关数据备份、存储全路径、备份设备的一些知识点(文件级备份、块备份)整理
1、关于磁带传统磁带库不是块设备,有余机械的限制,相对于磁盘文件系统,也具备磁带文件系统,或者称磁带数据管理系统;块级别备份可以看成是对底层lun的备份,不管lun上是否存在数据、或者原始有效容量;抛开了文件系统,直接备份扇区;典型案例,磁盘镜像;相对文件系统备份,需要访问目标的os、文件系统接口;块备份是不经过os的文件系统接口的,而是通过磁盘控制器驱动接口,直接读取磁盘;速度快;原创 2016-07-06 00:24:14 · 4171 阅读 · 0 评论