Category: Java Architecture

0

[转]以“前浪微博”场景为例,谈谈架构设计流程四步曲

让我们结合复杂度来源和架构设计原则,通过一个模拟的设计场景“前浪微博”,和你一起看看在实践中究竟如何进行架构设计。 我们假想一个创业公司,名称叫作“前浪微博”。前浪微博的业务发展很快,系统也越来越多,系统间协作的效率很低,例如: 用户发一条微博后,微博子系统需要通知审核子系统进行审核,然后通知统计子系统进行统计,再通知广告子系统进行广告预测,接着通知消息子系统进行消息推送……一条微博有十几个通知,目前都是系统间通过接口调用的。每通知一个新系统,微博子系统就要设计接口、进行测试,效率很低,问题定位很麻烦,经常和其他子系统的技术人员产生分岐,微博子系统的开发人员不胜其烦。 用户等级达到 VIP 后,等级子系统要通知福利子系统进行奖品发放,要通知客服子系统安排专属服务人员,要通知商品子系统进行商品打折处理……等级子系统的开发人员也是不胜其烦。

Bildergebnis für message queue 0

[转]推荐30个用于微服务的顶级工具

  一份顶级的微服务开源工具清单 关于微服务的好文章不计其数。对于那些一直没有亲历微服务或初次听到这个概念的人来说,这篇文章相当于把一份顶级的开源工具清单送到他们的面前。微服务是一种用于开发高度可伸缩软件系统的架构风格。这种架构可用于开发企业、政府、学校和慈善机构的企业级应用。它与传统的单体架构完全相反,单体架构只专注于单个应用程序。 微服务小而独立,但在开发和维护方面,它们的架构可能很复杂。微服务之间通过同步协议(如 HTTP/REST)或异步协议(如 AMQP)相互通信来实现业务目标。

0

[转]金丝雀发布、滚动发布、蓝绿发布到底有什么差别?

根据 2017 年的 DevOps 发展报告,高效能组织和低效能组织在软件交付的效率上有数量级上的差异。技术组织的软件交付能力是一种综合能力,涉及众多环节,其中发布是尤为重要的环节。 作为技术人员,大家可能听说过“滚动发布”和“蓝绿发布”等术语,但是很多人并不清楚这些术语背后的原理。本文试图总结当前主流的发布策略,每个的优劣,适用性,让开发人员特别是架构师对现代发布技术有一个更为清晰全面的认识,让大家能够根据自己的企业上下文,对发布策略做出正确的选型和实践。

[总结]58到家MySQL军规升级版 0

[总结]58到家MySQL军规升级版

1. 一、基础规范 表存储引擎必须使用InnoDB   表字符集默认使用utf8,必要时候使用utf8mb4 解读: (1)通用,无乱码风险,汉字3字节,英文1字节 (2)utf8mb4是utf8的超集,有存储4字节例如表情符号时,使用它

0

[转]Nginx宣布正式支持gRPC,附示例代码

  NGINX 官方博客正式宣布 NGINX 支持原生的 gPRC,现在就可以从代码仓库拉取快照版本。该特性将会被包含在 NGINX OSS 1.13.10、NGINX Plus R15 以及 NGINX 1.13.9 当中。 NGINX 已经能够代理 gRPC TCP 连接,用户可以用它: 发布 gRPC 服务,并应用 NGINX 提供的 HTTP/2 TLS 加密机制、速率限定、基于 IP 的访问控制以及日志等功能。 在单个端点上发布多个 gRPC 服务,使用 NGINX...

Ähnliches Foto 0

[总结]分表分库时机选择及策略

1. 一. 分表 1-1. 应用场景: 对于大型的互联网应用来说,数据库单表的记录行数可能达到千万级甚至是亿级,并且数据库面临着极高的并发访问。采用Master-Slave复制模式的MySQL架构,只能够对数据库的读进行扩展,而对数据库的写入操作还是集中在Master上,并且单个Master挂载的Slave也不可能无限制多,Slave的数量受到Master能力和负载的限制。 因此,需要对数据库的吞吐能力进行进一步的扩展,以满足高并发访问与海量数据存储的需要!

0

[转]一个可供中小团队参考的微服务架构技术栈

近年,Spring Cloud 俨然已经成为微服务开发的主流技术栈,在国内开发者社区非常火爆。我近年一直在一线互联网公司(携程,拍拍贷等)开展微服务架构实践,根据我个人的一线实践经验和我平时对 Spring Cloud 的调研,我认为 Spring Cloud 技术栈中的有些组件离生产级开发尚有一定距离。比方说 Spring Cloud Config 和 Spring Cloud Sleuth 都是 Pivotal 自研产品,尚未得到大规模企业级生产应用,很多企业级特性缺失(具体见我后文描述)。