微服务(Microservice)那点事

摘要 微服务架构被提出很短的时间内,就被越来越多的开发人员推崇,简单来说其主要的目的是有效的拆分应用,实现敏捷开发和部署 。本分享即尝试介绍微服务架构的一些实施细节和要求,探询微服务架构的由来,并最终提供我们团队内部的一些实践总结,希望对大家有帮助。
[......]

阅读全文

用互联网思维来开发客户端软件——项目开发小结

随着智能手机、平板电脑的快速发展,台式电脑在个人用户那里已经没落了,但是台式电脑仍然是企业用户工作中的主要工具,且具有不可替代的作用。客户端软件 在企业级用户那里有着不可替代的作用,结合时代发展,我们应以互联网思维来做好企业级应用客户端软件?研发快速迭代、快速试错,把大功能拆分成小功能,分 阶段实现,追求微创新。[......]

阅读全文

SOA架构设计经验分享

阅读目录:

  • 1.背景介绍
  • 2.SOA的架构层次
    • 2.1.应用服务(原子服务)
    • 2.2.组合服务
    • 2.3.业务服务(编排服务)
  • 3.SOA化的重构
    • 3.1.保留服务空间,为了将来服务的组合
  • 4.运用DDD+GRASP进行分析和设计(防止主观的判断导致错误的假设)
  • 5.SOA分布式下的数据一致性
    • 5.1.分布式事务(基于DTC的分布式事务)
    • 5.2.事务补偿(提供正向或反向的操作来让数据在业务上是一致的)
    • 5.3.异步EDA(基于异步事件流来实现柔性的分布式事务)
  • 6.总结

[......]

阅读全文

从3张图了解Pinterest Feed算法与架构设计

Pinterest首页的Feed消息流,最早是按照用户的关注对象的Pin(Pin类似微博)聚合后按时间进行排序(自然序,类似朋友圈),后来版本的 feed系统放弃了自然序,而是根据一定规则及算法来设计,内部称之为Smart feed,其算法及架构根据其公开资料整理如下,值得业界做信息流产品的技术架构师参考。[......]

阅读全文

你应该知道的RPC原理

在校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示。这些程序的特点是服务消费方和服务提供方是本地调用关系。

而一旦踏入公司尤其是大型互联网公司就会发现,公司的系统都由成千上万大大小小的服务组成,各服务部署在不同的机器上,由不同的团队负责。这时就会遇到两个问题:1)要搭建一个新服务,免不了需要依赖他人的服务,而现在他人的服务都在远端,怎么调用?2)其它团队要使用我们的服务,我们的服务该怎么发布以便他人调用?下文我们将对这两个问题展开探讨。[......]

阅读全文

微博推荐架构的演进

0引言
微博(Weibo)是一种通过关注机制分享简短实时信息的广播式社交网络平台。微博用户通过关注来订阅内容,在这种场景下,推荐系统可以很好地和 订阅分发体系进行融合,相互促进。微博两个核心基础点:一是用户关系构建,二是内容传播,微博推荐一直致力于优化这两点,促进微博发展。如图1所示:[......]

阅读全文

iOS大型项目开发漫谈

标题有些吓人请不要害怕,不过这确实不是扫盲贴,需要一定的iOS开发基础。在我多年的码农生涯中绝大部分时间都是做的小项目,大一些的可能也就是 百万行代码的样子,跟Windows系统几千万行源码比简直就是小巫见大巫。不过,一个iOS项目的源码有数百万行算蛮大了。我想说的是,人总是会成长, 会担当更大的责任接受更大的挑战,终有一天组织会有重要任务交给你。不过软件开发不是一朝一夕,也不会有多么的轰轰烈烈,更多的是平淡中无数的细节处理。 做大型项目未必就需要多么高深的技术,也许就是细节的科学处理与规范的管理。[......]

阅读全文