关闭

集群负载均衡技术概述

集群负载均衡技术(Load Balancing)是目前互联网后端服务的关键技术,是互联网系统演化到现在这样巨大规模的基础。 客观地说,负载均衡是一个门槛相当不低的领域,已有技术主要包括硬件方案和软件方案。简单说,硬件方案性能好,但是昂贵;软件方案性能差,但是成本相对可控。 硬件方案代表为F5、Ctrix、A10、Redware 等 LB 厂商的产品,每年市场营收额高达百亿。 开源...
阅读(582) 评论(0)

用 consul + consul-template + registrator + nginx 打造真正可动态扩展的服务架构

在互联网应用领域,服务的动态性需求十分常见,这就对服务的自动发现和可动态扩展提出了很高的要求。 Docker 的出现,以及微服务架构的兴起,让众多开源项目开始关注在松耦合的架构前提下,如何基于 Docker 实现一套真正可动态扩展的服务架构。 基本需求 基本的需求包括: 服务启动后要能自动被发现(vs 传统需要手动进行注册);负载要能动态在可用的服务实例上进行均衡(vs 传...
阅读(7337) 评论(1)

Mesos 基本原理与架构

首先,Mesos 是一个资源调度框架,并非一整套完整的应用管理平台,本身是不能干活的。但是它可以比较容易的跟各种应用管理或者中间件平台整合,一起工作,提高资源使用效率。 架构  master-slave 架构,master 使用 zookeeper 来做 HA。 master 单独运行在管理节点上,slave 运行在各个计算任务节点上。 各种具体任务的管理平台,即...
阅读(2919) 评论(0)

C10K 问题引发的技术变革

C10K 问题 服务器同时支持并发 10K 量级的连接,这些连接可能是保持存活状态的。 解决这一问题,思路主要有两个方面,一个是对于每个连接处理分配一个独立的进程/线程;另一个思路是用同一进程/线程来同时处理若干连接。 每个进程/线程处理一个连接 这一思路最为直接。但是由于申请进程/线程会占用相当可观的系统资源,同时对于多进程/线程的管理会对系统造成压力,因此这种方案不具备...
阅读(7134) 评论(3)

网络技术正当革命时

计算机网络自诞生之后,面向的应用场景主要包括局域网、广域网两大类。在各种环境中,通过层级结构将局域网连接起来,形成一个网络的网络,即所谓的互联网。无论什么网络,唯一的事实标准就是 TCP/IP 协议栈以及围绕这个协议栈的各种管理和应用技术,即便后来推出的 IPv6、CCN、SDN 等网络技术,都没有完全超出这个范畴。所以,看起来基于 TCP/IP 的修修补补在相当长的一段时间里满足了各种场景下对于...
阅读(1058) 评论(0)

云计算时代应用设计十二要素

云计算时代,设计和应用软件应用应该注意哪些因素? Docker 为什么最近这么火? Heroku平台提出了推荐的应用风格,对我们设计PaaS和SaaS应用都有很好的参考意义。 代码 一个代码库,使用版本管理,形成多个部署。 依赖 显式定义,隔离不同依赖。 配置 在环境变量中保存配置。 后端服务 后端服务作为可挂载资源使用。 生命周期...
阅读(1487) 评论(0)

IO模式——同步(阻塞、非阻塞)、异步

不少人把同步、异步、阻塞、非阻塞放到一起讨论,很多时候难以区分。 这里从根上剖析下该怎么看待这几个概念。 首先,异步和同步是相对的,而同步情况下又有阻塞和非阻塞之分。 异步很容易理解。当用户程序需要进行IO的时候,发出IO请求,然后就立刻返回,可以继续做其它事情。 例如,从网络收包,当包抵达后放到内核某个缓存区,并且从内核空间放置到程序需要的用户空间后(一种是直接复...
阅读(1111) 评论(0)

也谈并发和并行

并发(concurrency)和并行(parallelism)都是常见的概念,并且很多时候并不容易进行区分,甚至被用作表达同样的概念。 网上最流行的解释,并发是一个人吃三个馒头;并行是三个人吃三个馒头。 这样理解简单概况了主要区别,但其实并不是太完整。 从对象的角度,并发是一种任务分配模式,指的是同一个处理器被调度处理不同的任务,这些任务往往都是同一性质的任务。例如浏览器打开多个页面...
阅读(1085) 评论(0)
    个人资料
    • 访问:296367次
    • 积分:3909
    • 等级:
    • 排名:第8547名
    • 原创:106篇
    • 转载:0篇
    • 译文:1篇
    • 评论:51条
    最新评论