`
文章列表
介绍:[http://gitlab.alibaba-inc.com/middleware/diamond/wikis/Diamond-Intro] 客户端: 一、 client获取server地址 diamond-client在使用时没有指定server地址的代码,地址获取对用户是透明的。 server地址存储在一台具有域名的机器上的HTTP server中 ...
是什么? 俗称:配置中心,是一个基于“发布-订阅”模型的分布式通信框架 常用应用场景 场景1. HSF服务 。服务发布者发布服务,服务调用者订阅服务,ConfigServer向订阅服务的调用者推送可访问的服务IP地址列表,服务调用者从中选一个发起远程调用。
这次我们来聊聊数据库的连接, 因为我觉得这是蛮有内容且蛮重要的一部分内容。首先会从单个的连接池讲起,重点考察下单连接池和数据库的交互情况, 然后探讨下大规模集群下数据库连接会遇到的问题,以及对应的解法。 首先什么是连接池,出现的原因是啥?我们可以从一个标准SQL的生命周期说起, 如果一个SQL要到DB上去执行, 那么首先要建立应用服务器和数据库的一个连接状态,连接建立后数据库会分配一个线程或者进程来调度,完成解析并生成执行计划,然后才进入执行阶段,读取必要的数据到内存并逻辑处理, 最后才通过之前创建的连接发送结果集给到客户端,关掉连接并释放资源,所以连接可以说是应用和DB交互的桥梁和管道, ...

zookeeper学习

简介 ZooKeeper是由Yahoo! Research研发的一个分布式的协调系统,最初是Hadoop下的一个子项目,后来独立出来成为Apache的顶级项目。不了解Zookeeper的人会认为它只是一个分布式锁服务,分布式锁仅仅只是ZooKeeper的其中一个应用场景而已。ZooKeeper的定位是一个coordination kernel,仅仅提供一些简单的API,分布式应用的开发者再根据自己的需要使用这些API来实现自己想要的同步原语(synchronization primitives),比如Lock, Barrier等等。 一、项目目标 一个系统对自己的定位是很重要的。Zoo ...

redis

1 背景        Redis作为内存级别的存储或缓存,为一淘玩客(http://wanke.etao.com) 提供了Feed流,计数器,精细粒度缓存功能。2013年10月份上线,逐渐成为系统中重要的组成部分,我们已经将Redis集群抽象成为了一淘Redis平台级别的服务。       一淘Redis平台上线2年多的时间,我们遇到了很多问题。例如网络抖动,主从同步,机器宕机,节点迁移,内存不足等等。最近我们刚刚遇到了由于清理任务被意外终止后,Redis内存险些爆掉的情况。本文将过去两年中遇到的一些问题总结提炼出来,希望能够为有同样在使用Redis的同学能够有一些借鉴意义,可以少走一些弯 ...

NIO的理解

基础概念• 缓冲区操作缓冲区及操作是所有I/O的基础,进程执行I/O操作,归结起来就是向操作系统发出请求,让它要么把缓冲区里的数据排干(写),要么把缓冲区填满(读)。如下图• 内核空间、用户空间 上图简单描述了数据从磁盘到用户进程的内存区域移动的过程,其间涉及到了内核空间与用户空间。这两个空间有什么区别呢? 用户空间就是常规进程(如JVM)所在区域,用户空间是非特权区域,如不能直接访问硬件设备。内核空间是操作系统所在区域,那肯定是有特权啦,如能与设备控制器通讯,控制用户区域的进程运行状态。进程执行I/O操作时,它执行一个系统调用把控制权交由内核。 • 虚拟内存 • 内存页面调度 5种I/O模 ...
MySQL库表设计规范 表设计 1)     表必须定义主键,默认为ID,整型自增,如果不采用默认设计必须咨询DBA进行设计评估 2)    ID字段作为自增主键,禁止在非事务内作为上下文作为条件进行数据传递 3)     禁止使用外 ...

网络分析 -tcp

    博客分类:
  • TCP
引言 在上文的TCP优化背景和架构方案当中,我们提到过aeproxy这个应用以及他的职责,他是一个域名代理的应用,负责将对应域名的url经过分析、代理转发给相应的业务系统去处理; 在这篇文章里,与大家分享一些在构建和实测aeproxy这种反向代理应用时,遇到的问题和对应的解决方案; 反向代理系统分析
客户端: 一、 client获取server地址 diamond-client在使用时没有指定server地址的代码,地址获取对用户是透明的。 server地址存储在一台具有域名的机器上的HTTP server中,我们称它为地址服务器,diamond-client使用前需要在本地进行正确的域名绑定,启动时它会根据域名绑定,去对应环境的地址服务器上获取diamond-server地址列表。 获取的地址列表,会保存在client本地,当出现网络异常,无法从网络获取地址列表时,client会使用本地保存的地址列表。 client启动后会启动一个定时任务,定时从HTTP server上 ...
简介 淘宝现在是一个由很多个应用集群组成的非常复杂的分布式系统。这些应用里面主要有处理用户请求的前端系统和有提供服务的后端系统等。这些应用之间一般有RPC调用和异步消息通讯两种手段,RPC 调用会产生一层调一层的嵌套,一个消息发布出来更会被多个应用消费,另外,应用还会访问分库分表的数据库、缓存、存储等后端,以及调用其他外部系统如支付、物流、机彩票等。 请试想一下,现在淘宝一个买家点击下单按钮所产生的网络请求到达淘宝服务器之后,就会触发淘宝内网数百次的网络调用。这些调用中有哪些出问题会影响这次交易,有哪些步骤会拖慢整个处理流程,双十一的交易高峰需要给应用集群分配多少台机器,这些都是需要考虑 ...
 精卫提供如下功能: 内置多种复制任务:解析MySQL的binlog到数据库(MySQL、Oracle),解析MySQL的binlog到Meta消息中间件。 保证数据不丢 如果有多个消费者,能够保证一个消费者挂掉或很慢,其他消费者不会受到影响。 支持用户自定义复制任务:用户可以根据具体业务需求自由定制Extractor和Applier,就可以很方便地创建的新的复制任务。 自定义任务灵活部署:用户自定义复制任务既可以部署在业务服务器,也可部署在精卫集群。 数据过滤功能:用户通过web控制台,就可以灵活地添加、配置过滤器,虑选满足业务需求的数据。 丰富的日志展现形式:用户通过we ...
前言 本系列文章都是基于Hotspot/JDK源码,从源码角度来分析我们常见的JVM参数,Java概念以及对应的实现原理及玩法等,希望从根本上来理清Java知识点,我们会不定期地分享这个系列的文章,这些文章可能源于最近碰到的问题,也可能是同学们的提问,甚至有可能是我们突然想到的话题等,如果大家有想了解的方面,也可以和我们团队同学联系,有些东西我们现在可能也不一定清楚,但是我们非常愿意花时间去了解清楚并分享给大家。 概述 广义的堆外内存
概述 JAVA对象引用体系除了强引用之外,出于对性能,可扩展性等方面考虑还特地实现了四种其他引用:SoftReference、WeakReference、PhantomReference、FinalReference,本文主要想讲的是FinalReference,因为zprofiler在分析一些oom的heap的时候,经常能看到 
一、总体介绍         二、命令行工具     1、jps          类似于ps,列出正在运行的虚拟机进程。显示如下内容:虚拟机执行主类、LVMID(非常重要,其他命令都         需要输入该id)          命令格式:       ...
前言:      上文介绍了Hadoop的IO序列化,大家应该可以知道其实Hadoop很多的设计也是专门为了MapReduce编程框架服务的,除了序列化还有专门的文件类:SequenceFile和MapFile,其中,MapFile是经过排序并带有索引的SequenceFile,而SequenceFile也是我们数据仓库原来在云梯1上最通用的数据文件,下面我将详细介绍下这两个文件类:一、SequenceFile:  SequenceFile 是一个由二进制序列化过的key/value的字节流组成的文本存储文件,它可以在map/reduce过程中的input/output 的format时 ...
Global site tag (gtag.js) - Google Analytics