突然闲下来没事干,开个贴回答互联网后端技术问题

2019-10-27 21:13:24 +08:00
 axb
我是做什么的:微博系统开发资深技术专家,曾经负责过微博消息箱、直播互动(非一直播)、视频(非秒拍)的后端服务。

我能回答的:互联网后端工程、程序员工作相关的问题

不能回答的:微博的交互、运营、产品、来去之间等等技术无关的问题,我没有发言权,涉及到微博内其他团队的针对性技术问题我也无法回答。
19429 次点击
所在节点    问与答
221 条回复
axb
2019-10-27 22:33:12 +08:00
@Rwing 秦老板,我就想知道为啥国内这么多 java,这么少 C#,而国外几乎是 1:1 的?

不清楚,我 Java 关注的更多一些,Java+Linux 环境没什么硬伤,我觉着也挺好啊?
axb
2019-10-27 22:35:17 +08:00
@lovelife1994 谢谢解答,另外还想问一下在系统或功能模块设计阶段是如何考虑系统的扩展性的呢?是快速原型,实现,上线,后续迭代升级,还是说会在一开始就做一些复杂的设计?在这方面是怎么作取舍呢?

设计阶段要考虑的首先是“系统哪些功能是必不可少并且需要快速验证的”,然后是“系统 2 年以内有可能会有什么变化”,觉着不好设计的原因还是设计少了,踩的坑不够多。经验多了,就没这类问题了。
axb
2019-10-27 22:36:30 +08:00
@ebony0319 一个人有几千万个关注,这种数据结构怎么存呢。?

存不是问题,你用个普通 mysql,只要哈希的狗斗,都能存的了。难的问题是“怎么取”,这个要看业务场景。
coderqbc
2019-10-27 22:36:39 +08:00
@axb 是的,指应用服务连接数据库时设置的连接池大小,您的分析有道理,感谢。
axb
2019-10-27 22:36:52 +08:00
@ebony0319 哈希的够多,抱歉打错字了
Cbdy
2019-10-27 22:39:29 +08:00
@axb 老板好,正文描述的几个系统主要是用什么技术栈构建的呢?能谈谈当时技术选型的取舍吗?

能谈谈明星出轨系统崩溃的原因是什么吗?有什么改进的计划吗?

顺便打听一下微博后端 Java 现在主要用 JDK 几,用 maven 还是 gradle😳
ebony0319
2019-10-27 22:39:36 +08:00
老大是否了解国内 go 的生态环境,go 会是下一代语言么?可否客观的说下。
Yoock
2019-10-27 22:39:38 +08:00
新浪微博的用户关系是怎么维护的,如果一个人的粉丝非常多,怎么快速的找出他的互粉好友
axb
2019-10-27 22:39:39 +08:00
@lhx2008 有使用 K8S 应用的案例吗,比如说用在数据库扩容上面

我的团队应用 k8s 更多的是在线下或者半离线业务场景下,做后台系统或者一些非实时任务。用来降低整体计算成本。至于线上业务,k8s 的能力还不足以让微博这种体量的公司开箱即用,这个改造成本也会比较高。
caskeep
2019-10-27 22:39:51 +08:00
对于 devops 有什么优化上的建议么?好用么或者说需要注意什么?
axb
2019-10-27 22:40:37 +08:00
@heart4lor 应届生如何向中间件方向发展,大佬能否给些建议呢?十分感谢~

去大公司,没了……
lovelife1994
2019-10-27 22:41:16 +08:00
@axb 嗯嗯 确实是这样的,还是缺乏经验积累。
patx
2019-10-27 22:46:23 +08:00
突发流量,比如明星出轨之类的,胡忠想老师的后台服务老是容易挂掉。微博的视频如何避免这种问题?
axb
2019-10-27 22:47:57 +08:00
@Cbdy 老板好,正文描述的几个系统主要是用什么技术栈构建的呢?能谈谈当时技术选型的取舍吗?
语言 Java 用的多,好招人;框架分场景,比如做消息推送服务就用了 netty。取舍:尽量好招人的技术栈。


能谈谈明星出轨系统崩溃的原因是什么吗?有什么改进的计划吗?
不能,崩溃的不是我负责的系统,具体原因我也不清楚。

顺便打听一下微博后端 Java 现在主要用 JDK 几,用 maven 还是 gradle😳
jdk6-10 都有,maven 和 gradle 都有。
JohnChiu
2019-10-27 23:04:50 +08:00
微博为什么限制部分用户在非登陆状态下的访问,防止爬虫吗?这些用户的微博会显示“找不到内容”。

微博消息箱是私信还是通知?如果是私信的话所有聊天记录都存储在云端有什么压力吗?
axb
2019-10-27 23:06:13 +08:00
@caskeep 对于 devops 有什么优化上的建议么?好用么或者说需要注意什么?

我理解 devops 更多的是个概念,我们没有刻意的应用 devops,只是某天看到 devops 的资料的时候才发现:原来我们一直在做的这个实践叫 devops……
axb
2019-10-27 23:11:14 +08:00
@JohnChiu 微博为什么限制部分用户在非登陆状态下的访问,防止爬虫吗?这些用户的微博会显示“找不到内容”。
我回答不了。

微博消息箱是私信还是通知?如果是私信的话所有聊天记录都存储在云端有什么压力吗?
私信。没明白你说的压力指的是什么?
JohnChiu
2019-10-27 23:14:26 +08:00
@axb #56 聊天记录是怎样存储在数据库中的?因为聊天记录肯定比关注列表更多更复杂,想知道后端是怎么设计的
Owenjia
2019-10-27 23:16:26 +08:00
记得几年前好像有人说过微博私信用的是 xmpp,现在还是吗?这里面有遇到什么坑吗?
axb
2019-10-27 23:22:21 +08:00
@Yoock 新浪微博的用户关系是怎么维护的,如果一个人的粉丝非常多,怎么快速的找出他的互粉好友

我不是专业做关系服务的,只提供个思路:

1 不管如何取数据,在数据量大的情况下,查找问题都会变成两个具体问题:1 如何哈希,2 如何建索引。
2 一份数据可以有多份索引,针对不同的业务场景也可以有异构的索引存储。
3 在满足 1,2 的情况下,索引问题会变成“如何维护数据一致性”的问题,但是这个问题解决起来要简单很多。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/613460

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX