- 博客(7)
- 资源 (9)
- 收藏
- 关注
原创 Rest API Design
本人最近负责Zuora Rest API的设计工作,总结了一下Restful设计的规范。1. 给API加上版本API版本应该是必备的。这样API不会随时间过时。一种方法是把版本放到URL里(/api/v1...)另一个巧妙的花招是使用 Accept HTTP header,来传递需要的版本,正如github所做的。(https://developer.github.
2015-08-31 23:21:43 863
原创 Mysql Table Partition (表分区)
大纲微博平台主要负责微博基础功能。接下来将会介绍平台的作用,以及服务提供的形式平台Web服务的部署平台Web框架简介背景目前整体架构大体上分为三层展现层:手机端,主站和第三方应用,承担相关业务的前端展示适配层:负责服务端和多个展示端的接口适配服务层:提供基础功能服务,包括Feed服务,用户关系,
2015-08-31 23:15:58 3346
原创 Java并发:synchronized
Java并发:synchronized的使用一.线程安全 在单线程中不会出现线程安全问题,而在多线程编程中,有可能会出现同时访问同一个资源的情况,这种资源可以是各种类型的的资源:一个变量、一个对象、一个文件、 一个数据库表等,而当多个线程同时访问同一个资源的时候,就会存在一个问题: 由于每个线程执行的过程是不可控的,所以很可能导致最终的结果与
2015-08-31 23:13:36 522
原创 Java并发:Lock
Java并发:Lock一.synchronized的缺陷 synchronized是java中的一个关键字,也就是说是Java语言内置的特性。但是有严重缺陷 如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁,而这里获取锁的线程释放锁只会有两种情况: 1)获取锁的线程执
2015-08-31 23:08:54 592
原创 Kafka史上最详细原理总结
KafkaKafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Li
2015-08-31 23:04:51 61914 26
原创 传统Active MQ与大数据下的分布式Kafka
本人在Zuora工作的时候,几乎所有的异步业务逻辑都使用ActiveMQ,对AMQ也算颇为熟悉。现如今每天和Kafka打交道,对kafka也算驾驭的不错。现在基于这两者做个小比较。首先,Active MQ与Kafka的相同点只有一个,就是都是消息中间件。其他没有任何相同点。关于consumeActive mq是完全遵循JMS标准的。amq无论在standal
2015-08-31 22:58:39 3450
原创 Timer定时任务与其缺陷
微博作为当今中国最大的社交媒体平台,每天都有上亿人访问。而Feed作为微博最为核心的功能,每天有高达数十亿的请求,高峰期每秒的请求量上万。如何设计高可用的Feed系统,来应对如此高并发的访问,极具挑战。下面,我们将具体探讨微博Feed系统的架构,希望通过这次讲解,大家能够掌握微博Feed系统架构的基本知识。
2015-08-31 22:42:16 1239
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人