最新 | 最热门 | 最高评价

+0  关于 RESTful 不足的思考

Tag: Thinking In Code | RESTful | Service
四火 发于 2018年06月04日 13:56 | 点击: 683 | 展开摘要
在 Amazon 的时候,公司内有大量的组来维护不计其数的 service,而 service 之间的通用通讯方式是公司内部的一个框架,协议是自定的,客户端也是内部的;现在到了 Oracle,我看到这个变成了 RESTful,也就是说,协议本身变成了最常见和适用的一种。我看到有太多论述 RESTful 优点的文章了,而实际工作中也确实有所体会,比如接口和报文的可读性好,不需要特制的客户端,上手和调试都比较容易等等。但是,如果看到某个东西被冠以过多正面的评价,就要当心了。我也慢

查看全文: http://www.udpwork.com/item/16880.html

+0  分布式系统中唯一ID的生成

Tag: Distributed System | ID | Service | 分布式
四火 发于 2017年06月30日 23:59 | 点击: 1431 | 展开摘要
其实老早就像写一点这个话题。几乎我见过的所有大型系统中,都需要一个唯一ID的生成逻辑。别看小小的ID,需求和场景还挺多:

这个ID多数为数字,但有时候是数字字母的组合;

可能随机,也可能要求随时间严格递增;

有时ID的长度和组成并不重要,有时候却要求它严格遵循规则,或者考虑可读性而要求长度越短越好;

某些系统要求ID可以预期,某些系统却要求ID随机性强,无法猜测(例如避免爬虫等等原因)。

独立的生成服务

比如数据库。最常见的一种,也是应用最多的一种,就是利用数据库

查看全文: http://www.udpwork.com/item/16335.html

+0  三次性能优化经历

Tag: System Design & Architecture | Portal | Service | Spark | 性能优化
四火 发于 2016年02月16日 14:22 | 点击: 1300 | 展开摘要
最近在做一些性能优化工作,回想起工作这些年来,参与过的三次集中性能优化,每次都得折腾少则一个月,多则半年。这些内容既是不同视角、不同思路的比较,也是挺有趣的工作经历。

Portal的性能优化

这已经是大概五年前了,搞了接近半年的Portal性能优化,后来某些内容总结在这篇文章里面。既然是Portal,性能优化上就有它的特点。比如说:

Portal的性能优化需要从前端和后端两个角度去思考问题,先考虑客户端和服务端之间的交互模型,然后再在客户端和服务端单独考虑分而治之。这个

查看全文: http://www.udpwork.com/item/15213.html

+0  架构面试题 – 为什么我的朋友圈不见了?

Tag: service
Tim 发于 2014年12月25日 15:03 | 点击: 1257 | 展开摘要
经常有朋友问到,“感觉你们的系统最近没什么太大变化,你们那么多工程师在忙什么?”,下面的这个场景,可能是工程师花费了不少时间的情况之一。

有如下一个场景,某个服务需要构建一个列表数据返回给调用方(调用方通常是客户端),服务本身是一个数据聚合器,它由内部多个远程服务的数据聚合而生成。在正常情况下,需要将所有内部服务的结果全获取成功后再返回。但是在一个大系统中,多个服务中某个服务出现不稳定的概率会比较大,当出现如图远程服务3不可用的时候,有三种不同的解决思路。

方案1:忽略出

查看全文: http://www.udpwork.com/item/13672.html

+0  在线服务的黑天鹅

Tag: service | fault-tolerance | rpc
Tim 发于 2014年12月22日 01:20 | 点击: 1216 | 展开摘要
软件随想录(More Joel on Software)有这样一段话

提高服务稳定性的最大困难,就是”黑天鹅难题”(problem of black swans)。这个名词是由Nassim Taleb提出来的(www.edge.org/3rd_culture/taleb04/taleb_indexx.html),他这样定义:”黑天鹅代表外来因素,是一个超出正常预料的事件。”几乎所有的互联网服务中断,都来自于意料之外的突发事件,

查看全文: http://www.udpwork.com/item/13663.html

+0  应用层的容错与分层设计

Tag: service | finagle | rpc | twitter
Tim 发于 2014年11月07日 12:24 | 点击: 1305 | 展开摘要
针对在项目中碰到的一些容错设计问题,团队最近进行了一次技术沙龙,讨论了以下话题。

为什么需要应用层的容错设计?

一个完整的系统在内部是由很多小服务构成,服务之间以及服务与资源之间会存在远程调用。

每个系统的可用性不可能达到100%

各种网络及硬件问题,如网络拥堵、网络中断、硬件故障……

远程服务平均响应速度变慢

服务器平均响应速度如果慢下来,慢慢消耗掉系统所有资源,进而导致整个系统不可用。因此在分布式系统中,除了远程服务本身需要有容错设计之外,在应用层的远程调用

查看全文: http://www.udpwork.com/item/13486.html

+0  基于Fragment的Android前台服务框架

Tag: Development | Android | Fragment | Loader | service
oasisfeng 发于 2012年10月02日 22:39 | 点击: 2190 | 展开摘要
从Android 3.0开始,Google引入了全新的Fragment UI体系,重新诠释了可复用可延展的Android UI设计理念。Android Support Library更是为任何面向低版本Android的应用开发者提供了完整的Fragment后向兼容方案(backport)。所以,如果开发一款新的Android应用,使用Fragment已无需有任何顾忌。尽早拥抱这一强大的机制设计,可以帮你省下可观的开发和维护工作量。

说起Service框架,大家可能已经比较熟

查看全文: http://www.udpwork.com/item/8540.html

+2  分布式知识的总结(V1.0)

Tag: Java | Web Service | acid | base | cap | 分布式
longhao 发于 2012年09月15日 16:32 | 点击: 10032 | 展开摘要
1:分布式理论

CAP(Eric Brewer)

    Web服务无法同时满足以下3个属性

Consistency(一致性),数据一致更新,所有数据变动都是同步的

Availability(可用性),每个操作都必须以可预期的响应结束

Partition tolerance(分区容错性),即使出现单个组件无法可用,操作依然可以完成

    在任何数据库设计中,一个Web应用至多只能同时支持上面的两个属性,不可能三者兼顾。

查看全文: http://www.udpwork.com/item/8117.html

+0  Tumblr架构 – 页面浏览量150亿/月并且比Twitter更难拓展

Tag: Web Service | finagle | mysql | redis | scala | tumblr
longhao 发于 2012年02月16日 22:36 | 点击: 16093 | 展开摘要
    注:一些内容不熟悉,所以没有翻译。原文地址在这里



    Tumblr每个月增长30% , 一天5亿网页浏览,40K/sec , 每天3TB的数据存储在1000+的服务器上。最开始只有4名工程师来处理所有事情,当有20多个工程师的时候,才有实力出一些有趣的解决方案。

    Tumblr最开始是典型的大型LAMP应用,现在的分布式服务模型使用了Scala, HBase, Redis, Kafka&n

查看全文: http://www.udpwork.com/item/6851.html

+0  Twitter同步新浪微博的一个解决方案

Tag: Web_service
阮一峰 发于 2012年01月31日 15:35 | 点击: 1630 | 展开摘要
国内的微博服务之中,新浪和腾讯的市场份额最大。
但是,它们的平台比较封闭,不提供Feed输出,而且存在强行删除用户发言、关闭用户帐号的情况。所以,我一直以来都使用Twitter。

Twitter属于墙外网站,墙内的大部分用户看不到。春节假期里,我就在想,能不能把Twitter同步到墙内?

下面就是我的解决方案:

总体思路是,先将Twitter同步到一个自建的Wordpress,然后再将Wordpress同步到新浪和腾讯。

具体做法如下:

第一步,搭建一个Wordpr

查看全文: http://www.udpwork.com/item/6766.html

+0  创建一个最简单的Linux随机启动服务

Tag: Linux | daemon | init.d | linux | service
Xiaoxia 发于 2011年11月15日 15:22 | 点击: 1865 | 展开摘要
网上有不少关于如何让Linux自动运行自己编写的脚本或者程序的方法,但是大多数都是把命令写到/etc/rc.d/rc.local或者/etc/rc.local里,这样虽然能够实现随机运行,但是并不够灵活。不能像mysql,apache等服务一样能够使用service命令或者调用init.d下的脚本启动、关闭或者重启进程。例如,

service mysql restart

service apache2 stop

或者

/etc/init.d/mysql restart

查看全文: http://www.udpwork.com/item/6284.html

+0  Oracle 11.2.0.3 patchset 发布

Tag: Working case | ..oracle service
小荷 发于 2011年09月26日 11:30 | 点击: 3235 | 展开摘要
上周六,oracle发布了又一个重量级的patch set,11.2.0.3,一个超过5G的大家伙,有7个文件。目前来看,还只有linux x86版本和linux x86-64版本,但是大家不用着急,solaris的版本应该会在国庆前前release,其他的版本,可以参见:Release Schedule of Current Database Releases (Doc ID 742060.1)

11.2.0.3的patchset的对应的patch number是1040

查看全文: http://www.udpwork.com/item/5958.html
|<<<123>>>| 一共3页, 26条记录