首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

分布式系统解决之道:目录、消息队列及其他

由于这系列文章实在是太长,所以很抱歉发错了顺序,这应该是第二篇,不过单独来看也是可以成文的。 目录服务(ZooKeeper) 分布式系统是一个由很多进程组成的整体,这个整体中每个成员部分,都会具备一些状态,比如自己的负责模块,自己的负载情况,对某些数据的掌握等等。而这些和其他进程相关的数据,在故障恢复、扩容缩容的时候变得非常重要。 简单的分布式系统,可以通过静态的配置文件,来记录这些数据:进程之间的连接对应关系,他们的IP地址和端口,等等。然而一个自动化程度高的分布式系统,必然要求这些状态数据都是动态保存的

03

BI系统的分布式部署原理和技术实现

关于“分布式系统”的定义,我们先看下书中是怎么说的。《分布式系统原理和范型》一书中是这样定义分布式系统的:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像是单个相关系统”。 关于这个定义,我们直观的感受就是: 首先,这种系统相对来说很厉害,由好几台主机组成。以谷歌、亚马逊等服务商而言,他们的数据中心都由上万台主机支撑起来的。 其次,虽然很它很厉害,但对于外人来说,是感觉不到这些主机的存在。也就是说,我们只看到是一个系统在运作。以最近的“亚马逊 S3 宕机事件”为例,平时,我们压根不知道亚马逊所提供的服务背后是由多少台主机组成,但是等到 S3 宕机才知道,这货已经是占了互联网世界的半壁江山了。 从进程角度看,两个程序分别运行在两个台主机的进程上,它们相互协作最终完成同一个服务(或者功能),那么理论上这两个程序所组成的系统,也可以称作是“分布式系统”。 当然,这个两个程序可以是不同的程序,也可以是相同的程序。如果是相同的程序,我们又可以称之为“集群”。所谓集群,就是将相同的程序,通过不断横向扩展,来提高服务能力的方式。 举一个生活中的例子来说明: 小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,两个厨师的关系是集群。 为了让厨师专心炒菜,把菜做到极致,再请了个配菜师负责切菜,备菜,备料 ... , 厨师和配菜师的关系是分布式。 一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群。 一个配菜师因故请假了,但是其余的配菜师还是该啥就干啥,只是没请假的配菜师任务均匀的加量了,但他们的任务和职责是不变的,这是集群。 店里生意很好,当店长接到订单后,看哪个厨师活儿不重,就将新的订单分给谁,这就是负载均衡。 集群:多个人在一起做同样的事 。 分布式 :多个人在一起做不同的事 。 负载均衡:决定将任务以某种规则分给谁做。

02

阿里架构师的成长之路,Java开发者的技术梦要如何实现

写在开篇: 不管是开发、测试、运维,每个技术人员心里都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己。 然而“梦想是美好的,现实却是残酷的”,很多同学在实际工作后就会发现,梦想是成为大牛,但做的事情看起来跟大牛都不沾边,例如,程序员说“天天写业务代码还加班,如何才能成为技术大牛”,测试说“每天都有执行不完的测试用例”,运维说“扛机器接网线敲shell命令,这不是我想要的运维人生” 提升技术的误区: 有人认为想成为技术大牛最简单直接、快速有效的

09

Spring Cloud 中的分布式组件五花八门,我到底该怎么学?

点击关注公众号,Java干货及时送达 分布式架构的演进 在软件行业,一个应用服务随着功能越来越复杂,用户量越来越大,尤其是互联网行业流量爆发式的增长,导致我们需要不断的重构应用的结构来支撑庞大的用户量,最终从一个简单的系统主键演变成了一个非常复杂的可以支撑高并发的高可用的分布式架构,但是一个系统再复杂也是不断演变来的,所以从另一方面来说,其实是业务(问题)推动了技术的发展。 传统的单体应用 在早期,我们开发的都是单体应用,也就是一个系统所有的模块都在一个服务上: 这种传统的应用开发和运维都非常简单,随着

02
领券