高手问答第 181 期 — 资深架构师带来的高可用架构实践分享

发布于 2017/12/12 20:58
阅读 5K+
收藏 24

【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”

OSCHINA 本期高手问答(12 月 13 日 - 12 月 19 日)我们请来了@gygygyggyy 杨硕老师和@jolestar 王渊命老师为大家解答关于高可用架构实践方面的问题。

杨硕,前知乎商业技术负责人,曾在美团,Yahoo!等多家互联网公司工作过,目前在滴滴负责 Growth 相关工作,具备多年商业化变现和用户增长的经验,对于架构设计、性能调优、大数据、产品等多领域均有所涉猎。

王渊命,前青云容器平台负责人,Grouk技术合伙人,新浪微博架构师,当前筹备创业中。技术写作者,Kubernetes/FaaS『布道师』。对互联网应用架构的演进有深刻的理解,也熟悉基础设施云平台的各种技术,致力于促进 Kubernetes 在国内的普及,以及构建技术工具和平台降低应用的开发运维成本。

如果去问架构师什么是架构,可能会得到很多不同的答案,每个架构师都会对“架构”有不一样的理解,当然这不分对错,数据架构、应用架构、物理架构、组织架构等都是架构,甚至不仅在计算机行业,各行各业都会有类似的角色,但有一个核心的概念是共通的:架构必定是长期的生产活动中,经过深度思考,积累下来的最佳实践和可复用的合理抽象。

本期问答内容:

  • 高可用架构原理与分布式实践
  • 电商架构热点
  • 容器与云计算
  • 运维保障
  • 大数据与数据库

或有其他架构相关问题,也欢迎大家积极提问!

为了鼓励踊跃提问,@博文视点 会在问答结束后从提问者中抽取 5 名幸运会员赠予《高可用架构(第1卷)》一书。

>>>点击这里进入购买地址

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就高可用架构方面问题向杨硕和王渊命老师提问,请直接回帖提问。

加载中
0
博文视点
博文视点
该评论暂时无法显示,详情咨询 QQ 群:点此入群
1
西夏一品堂
西夏一品堂

@jolestar  中小型企业的微服务,一般是操作数据库的CRUD,这种微服务系统,除了使用集群保证高可用外,还有哪些简单的方案保证高可用?

jolestar
jolestar
集群的方式其实就是副本的方式,有多个副本保证高可用。或者是 Serverless/FaaS 的模式,如果你的微服务启动够快,就可以省略副本了。
1
有头发的程序员
有头发的程序员

@jolestar 之前就想弄Docker+Kubernetes搭建服务集群, 使开发服务器和线上服务器环境保持统一. 可惜没弄出来~

jolestar
jolestar
没弄出来是啥原因?Kubernetes 太复杂么?建议系统学习下。我出过一起 Kubernetes 视频教程,可以先看下。http://edu.csdn.net/course/detail/6080 也可以关注下我的博客或者公众号,近期会推出一个高级 Kubernetes 开发系列教程。
0
阿福Chris
阿福Chris

@jolestar 我来坐沙发,咨询探讨一下数据库层的高可用架构,我的问题有三个:

1.在数据库层高可用架构中,常用的实现方式有哪些?

2.一般提到高可用,概念太多,实际内容比较模糊,能不能麻烦您介绍一下您在数据库层高可用有哪些最佳实践。

3.数据库层高可用,如何与上层应用进行集成呢?

十分感谢!!

阿福Chris
阿福Chris
好的,谢谢
jolestar
jolestar
这个问题比较复杂,200字说不清楚,可以参看本书以下章节,分布式系统的高可用架构是想通的。 1.8 来自Google 的高可用架构理念与实践 2.10 架构师需要了解的Paxos 原理、历程及实战 6.6 PostgresSQL HA 高可用架构实战
0
赤脚小子
赤脚小子
@jolestar 你好,我入行的时候是jpa天下,后来orm火了,现在发现jpa又火了,有点迷惑未来到底属于谁,近期orm已死的论点很多,您觉得是什么造成的这样的现象?springdata?
jolestar
jolestar
JPA 和 ORM 的问题类似,主要挑战来自于两方面: 1. 原来单机缓存由于容量限制,向中心缓存过度,而 ORM 和中心缓存的结合又不够成熟。 2. ORM 最大的价值在于复杂对象的关联操作,对象映射,延迟加载等。但在互联网场景下,这样的方式跟不上性能要求,所以互联网模式下大多放弃外键关联,以及 ORM 自动加载的机制,通过程序去做精细化处理。
0
Carvendy
Carvendy

@jolestar已经从事一年的架构生活,感觉还是有点茫然.感觉还有很多东西不懂.

jolestar
jolestar
0
to0
to0

@jolestar 你好,两个问题请教于你

1、公司准备搭建接口微服务,考虑使用dubbo+zookeeper和spring eureka两种形式,请问从性能、稳定性、监控、社区活跃性等方面来说,哪种方案更加有优势?

2、 Spark写入Elasticsearch慢的问题怎么突破?一开始使用的是elastic-hadoop插件,偶尔会出现,

02-08 18:10:21 [INFO] [client.transport(119)] [Senor Muerte] failed to get local cluster state for [#transport#-3][momisabuilder-computer][inet[/10.0.200.17:9300]], disconnecting...,出现这个情况基本就没招了,只能重启节点,后来改用原生的Client写入Elasticsearch,倒不会出现上述问题,但是,会影响整个作业的执行进度;

 

 

jolestar
jolestar
eureka 的问题是 1.0 有点老,2.0 迟迟出不来。 dubbo 倒开始更新了,不过建议思考微服务不要只关注 rpc 框架,rpc 只是微服务中的一部分,更多的事情在 rpc 之外。第二个问题信息不够,看不出来问题,建议考虑合并操作以及增加缓冲层。
0
jamesmine
jamesmine

@jolestar

1.mongodb应该如何有效的应用到业务当中,可以用在哪些地方

2.多级集群jvm缓存同步业界有什么标准解决方案,我目前部分产品经常有遇到实例之间jvm不同步的问题。还是说统一用redis做缓存最省事?

3.我公司目前的产品有好多异构系统,每套产品都有自己的用户体系,然后相互之间做集成,请问这样的架构方式合适吗?

jamesmine
jamesmine
回复 @jolestar : 谢谢了
jolestar
jolestar
就是演进成统一的用户中心。开始可能得沿用集成的方式,然后通过开放 api,逐渐将其他应用的用户系统接管过来。
jamesmine
jamesmine
回复 @jolestar : 能否简单的介绍一下服务化架构?。
jolestar
jolestar
1. 这个没法说,要看你的业务需求。不能拿个锤子去找钉子,而是先看要解决啥问题。 2. 统一用中心缓存。 3. 最好用服务化架构统一成一套,不然后患无穷。
0
xpbob
xpbob

@jolestar  我理解的高可用其实就是时常有backup的存在,保证主宕机了,还能用备份继续工作

jolestar
jolestar
这个理解基本是对的,但不一定是 backup,比如两个眼睛,一般也不说一个眼睛是另外一个眼睛的 backup。另外能自动快速恢复也算高可用,这里关注的是『可用』。
0
myw31415926
myw31415926

@jolestar 您好!我以前也做过一个小型的电商平台,是用的一个开源架构。我想请教一下,在电商架构平台的设计中,重点和难点主要体现在哪些方面?目前有比较好的开源架构吗?另外,在支付上,可以调用很多银行或公司的支付接口,那在设计电商架构时,支付模块是否已经不再显得那么重要了?期待您的回答,谢谢~

jolestar
jolestar
电商的架构我不是很熟悉,不过所有的架构的复杂都和量级有关系。更详细的信息可以看书中的:电商架构热点专题
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部