问题

腾讯开发微信花了多少钱?真的技术难度这么大吗?难点在哪里?

回答
关于腾讯开发微信花费的具体金额,官方从未公开披露过。这属于公司的商业机密,因此我们无法得知一个确切的数字。但是,我们可以从多个维度来分析微信的开发成本,以及其中涉及的技术难度和难点。

为什么很难给出具体花费数字?

1. 研发成本包含的范围广: 开发微信不仅仅是编写代码。它还包括:
人力成本: 早期创业团队的工资、福利、招聘成本;后期持续的工程师、产品经理、设计师、测试人员、运维人员等。
技术基础设施成本: 服务器、带宽、数据存储、数据库、CDN(内容分发网络)等。微信的庞大用户量意味着需要巨量的基础设施支持。
研发工具和技术授权: 各种开发工具、编程语言、框架、中间件的可能授权费用。
研发迭代和优化: 持续的bug修复、性能优化、新功能开发、用户体验改进等都需要投入大量资源。
市场推广和运营成本: 虽然微信早期是依靠口碑传播,但后期的市场活动、运营推广也是巨大的投入。
研究和探索成本: 在没有明确商业模式的情况下,初期团队需要探索和试验,这本身就是一种成本。

2. 巨头公司的研发投入是持续性的: 微信并非一次性开发完成的项目,而是不断迭代和优化的过程。腾讯作为一家大型互联网公司,其研发投入是年度性的、系统性的,将微信的研发成本与公司整体研发支出剥离是极其困难的。

3. 商业机密: 具体的投入数据是公司核心竞争力的一部分,不会对外公开。

微信的技术难度真的有那么大吗?

答案是:是的,其技术难度非常大,而且随着用户规模的增长,难度呈指数级递增。

微信之所以能取得成功,很大程度上得益于其强大的技术支撑,特别是应对大规模用户并发和实时通信的挑战。

微信开发的技术难点主要体现在以下几个方面:

1. 高并发的实时消息推送(IM Instant Messaging):
挑战: 微信的核心功能是即时通讯,需要处理海量的用户同时在线、发送和接收消息。这涉及到如何高效地将消息从发送方准确、快速地推送到接收方。
难点:
连接管理: 数亿用户需要同时与服务器建立连接。传统的HTTP连接方式效率不高,因此微信采用了更高效的TCP长连接或WebSocket等技术。如何维持如此庞大数量的稳定长连接,管理连接状态,并在断线时快速恢复,是巨大的挑战。
消息路由与分发: 当用户发送消息时,系统需要找到接收方的设备,并将消息准确地发送过去。这需要一个高效的消息路由系统。当用户不在线时,消息需要存储起来,并在用户上线时重新推送。
状态同步: 好友关系、群聊信息、消息已读未读状态、用户在线状态等都需要实时同步给所有相关用户。
推送机制: 如何在保证低延迟的同时,又要兼顾终端设备的电量和流量消耗,是一个精妙的平衡。尤其是在手机处于待机状态时,如何通过各种“心跳”机制保持连接并及时推送消息,并且不被系统“杀死”进程,是移动端推送的核心难点。

2. 海量数据的存储和管理:
挑战: 微信承载着用户数量以亿计的聊天记录、图片、语音、视频、文件等海量数据。
难点:
分布式存储: 无法用单台服务器存储所有数据。需要采用分布式文件系统(如HDFS)或分布式数据库来分散存储和管理。
数据可靠性与可用性: 数据不能丢失,也不能因为部分服务器故障而无法访问。这需要数据冗余备份、故障转移、容灾机制。
数据访问效率: 在海量数据中快速检索和获取特定消息或文件,需要高效的索引和查询技术。
数据生命周期管理: 如何处理过时的数据,例如用户删除的消息,以及如何对用户数据进行安全备份和恢复。

3. 强大的后台架构和分布式系统:
挑战: 微信是一个庞大的分布式系统,由成千上万台服务器组成,提供多种服务(IM、朋友圈、支付、公众号、小程序等)。
难点:
服务拆分与高内聚低耦合: 将庞大的功能拆分成独立的服务模块(如用户服务、消息服务、群聊服务、好友服务、文件服务等),每个模块独立开发、部署和扩展,同时又需要高效地协同工作。
负载均衡: 将用户请求合理地分配到不同的服务器上,避免单点过载。
服务发现与注册: 新的服务启动后如何被其他服务找到,以及服务失败后如何及时剔除。
容错与降级: 当部分服务出现问题时,整个系统如何保持可用性,或者提供降级服务,避免雪崩效应。
数据一致性: 在分布式系统中,如何保证数据在不同副本之间的一致性,特别是在高并发写入的情况下。

4. 移动端适配与优化:
挑战: 微信需要在全球数以亿计的各种型号的手机上流畅运行,并考虑不同操作系统(iOS, Android)、不同网络环境(WiFi, 4G, 5G, 2G)和终端性能。
难点:
性能优化: 减少内存占用、CPU消耗、电量消耗,保证应用启动速度快、响应流畅。
网络优化: 适应各种不稳定或低速的网络环境,实现可靠的消息传输,并尽量减少流量消耗。例如,使用数据压缩、协议优化。
跨平台兼容性: 保证iOS和Android版本的功能一致性和用户体验。
后台保活: 在移动操作系统限制后台进程的严格管理下,如何维持IM服务的常驻和及时推送。

5. 安全与隐私保护:
挑战: 作为国民级应用,微信承载了大量用户隐私信息,必须保证数据安全和用户隐私不被泄露。
难点:
端到端加密: 对于敏感聊天内容,需要实现端到端加密,使得只有发送方和接收方能解密,即使是服务器也无法读取。
账号安全: 防止账号被盗、恶意注册等。
数据传输安全: 使用TLS/SSL等协议保证数据在传输过程中的安全。
防范垃圾信息和骚扰: 识别和屏蔽垃圾短信、诈骗信息等。

6. 社交图谱和推荐算法(后期的演进):
挑战: 随着朋友圈、公众号等社交功能的加入,如何有效地构建和维护用户之间的社交关系,以及如何为用户推荐感兴趣的内容。
难点:
图计算: 存储和查询庞大的社交关系网络。
推荐系统: 基于用户行为和社交关系进行个性化内容推荐,这需要复杂的机器学习和大数据分析技术。

7. 多媒体处理与传输:
挑战: 支持图片、语音、视频的发送和接收,这些文件通常较大,对网络带宽和服务器存储要求很高。
难点:
文件压缩与格式转换: 优化文件大小,提高传输效率。
CDN加速: 使用CDN将媒体文件分发到离用户更近的服务器,提高下载速度。
实时语音/视频通话: 这涉及到复杂的音视频编解码、网络传输协议(如RTP/RTCP)、回声消除、丢包补偿等技术,难度非常高。

总结:

虽然腾讯没有公开微信的具体开发成本,但可以肯定的是,这是一个巨大的投入,涉及了大量的人力、物力和时间。微信的技术难度之所以如此之大,是因为它需要同时解决海量用户、实时通信、海量数据存储、高并发处理、移动端优化、安全隐私等一系列复杂的技术问题,并且这些问题随着用户规模的增长而不断加剧。微信的成功是技术、产品、运营和用户增长共同作用的结果,其中强大的技术基石是不可或缺的。

网友意见

user avatar

很多东西的难度,是随着需求变化的。

比如排序吧,10个数字,我可以给你人眼排序,100个可以冒泡排序,学过c语言的大一学生,就能干,免费。100T的数字呢?你给我冒个泡试试?量变产生了质变,数据量的增大,让本来可用的算法变得不可用,因为你找不到100T这么大内存,n2复杂度的冒泡排序让排序时间变得不可接受。

100T数据排序已经是各大公司炫耀技术的方式了。

腾讯打破2016 Sort Benchmark 4项纪录,98.8秒完成100TB数据排序

Sort Benchmark Home Page

现在你告诉我,排序这个事儿简不简单?


现在再来聊聊微信

2017年微信用户数据报告:8.89亿月活跃用户 1000万公众号

8亿用户什么概念,1000w公众号什么概念

微信就是个APP么?后面是不是要有一堆服务器支撑着?

8亿用户,每天要有多少消息?这些消息要可靠的送达吧,如果用户没联网,你要缓存着吧。如果用户手端和电脑端同时登陆,要同步消息吧。

1000w公众号,每天要产生多少内容?要多少空间来存储?

再说说朋友圈,多么复杂的逻辑,每一个朋友圈的帖子,都可以有评论,可以对评论进行评论,还可以控制谁可见,谁不可见。也许做一个这样的功能不难,传统数据库,NoSQL都行,那我问问你,亿级用户,什么样的技术能够在秒级完成这些,让用户很爽的玩耍。

再说小程序,据我所知,小程序的执行环境完全是腾讯自己开发的,好像叫X5内核,能做到今天的稳定程度,要投入多少人?


在盗版软件横行的中国,人们已经习惯了软件免费了,有那么多大牛、技术人员、工程师在背后默默的劳作,支撑起整个IT产业,外行人却认为溢价太高。

解决你的困惑很简单,只要公开招标就好,你就会明白市场价是什么样的,到底有没有溢价,IT行业没有什么技术垄断,已经是充分竞争了。

作为一个IT从业者,我也为有需要的人提供咨询和培训,绝大多数的人认为高昂,其实他们都不是我的目标人群,因为他们不知道我能帮他们百倍的收回花费的成本。我不止一次帮助我的客户拿到了国外名校的offer,拿到企业offer,或者有其他的帮助。尊重知识,舍得投入的人,才能获得更多回报。


当年拿破仑三世(感谢 @赵怀柔 指出,不是滑铁卢那个拿破仑)用铝碗吃饭,彰显地位,因为那时候铝很难提取,很珍贵。

今天我们的门窗,我们的锅碗瓢盆,到处都用铝材质,技术进步了,所以铝很便宜。

你能说拿破仑时代的铝溢价了?

只要能成交,就是合理的价格,有价无市才叫溢价。

user avatar

跑个题,我在和不懂IT的客户谈类似的需求和报价的时候喜欢说三个比喻,实测效果不错:

  1. 如何说明高用户数和并发量的难度:
    你请一个人吃饭很简单,请十个人吃饭费点思量,请一百个人吃饭就要专人负责,想想如果请一万人,一百万人吃饭,同时吃,的难度。
  2. 如何说明加人其实不能加快进度:
    一个女人怀胎十个月可以生一个小孩,我给你十个女人,能不能一个月就生出一个小孩?
  3. 如何说明某些开发和项目的进度就是快不了:
    给你一辆法拉利,周一上班高峰期,能不能一小时从朝阳公园到清华大学?

    随手写的好像还挺多人喜欢看,那我有空就继续写几个:
  4. 如何说明多活系统难度比单系统大很多:
    做好单机系统相当于稳定地泡好一个妹子,已经很不容易了。多活系统相当于同时泡多个妹子,而且妹子之间要清晰互相知道对方存在,一个不行了还要另外一个马上顶上的,费用和协调难度大了好多倍。(平权主义者请换成汉子)

    我超喜欢这个比喻,因为多活系统的数据锁和脑裂之类的技术难点居然和公开劈腿的难点很像呢。
  5. 如何回答“开发一个简单的app” 需要多少钱:
    “看需求,大致和一套房的价格差不多”,客户就会相对容易理解到随着房子所在的城市,大小,朝向等等,可能价格是从几万到几千万不等。

插一个以前写的9K赞答案的片段:

问题六:到底IOE这三家,哪家是最容易被替换掉的?
看最上面第一个表格中IOE盘踞的位置就知道,EMC是最容易被换掉的。你要换个移动硬盘容易呢,还是换台电脑或者重装系统容易呢?当然EMC的存储有很多功能别家是没有的,但普通的功能要换成国货,还是有机会的,当然最容易不等于真容易,都是很伤筋动骨的事。

举个不是很严密的例子:如果银行是一家海鲜酒楼,把IBM换掉相当于大搞一次装修,把Oracle换掉相当于把厨子和菜谱全部换掉,把EMC换掉相当于把放食材工具的储物间换个地方。难度在于,这海鲜酒楼白天黑夜都还要照常营业。

这些比喻都不需要很严谨,都只要让“不懂IT的人”大致明白“为什么”就好。

大家有兴趣也可以出个题目,如果我有现成的的比喻也写一写。以前很多时候是开会或者交流的时候即兴发挥,现在一时都想不起来了。

类似的话题

  • 回答
    关于腾讯开发微信花费的具体金额,官方从未公开披露过。这属于公司的商业机密,因此我们无法得知一个确切的数字。但是,我们可以从多个维度来分析微信的开发成本,以及其中涉及的技术难度和难点。为什么很难给出具体花费数字?1. 研发成本包含的范围广: 开发微信不仅仅是编写代码。它还包括: 人力成本.............
  • 回答
    不少国内 Linux 用户在社区里抱怨,腾讯迟迟不推出 Linux 版微信和 QQ,这成为了他们使用 Linux 系统的一个绕不开的坎儿。这事儿说起来,确实挺让人纠结的。从某种程度上讲,腾讯在这一块儿的“不作为”,对国内 Linux 用户群的发展,多少是有些阻碍作用的。先说说为什么大家这么在乎微信和.............
  • 回答
    .......
  • 回答
    .......
  • 回答
    .......
  • 回答
    作为一款自研应用,在选择一个平台作为唯一的登录账号来源时,腾讯和新浪微博这两个选项都有其各自的优劣,需要仔细权衡。如果将目光聚焦于腾讯,我们首先想到的是其庞大的用户群体和在社交、游戏、内容消费等多个领域的深耕。腾讯旗下拥有微信和QQ这两大国民级应用,这意味着你的应用能够触达的用户基数是极其惊人的。选.............
  • 回答
    如果《炉石传说》是腾讯开发的,那估计现在我们看到的它,会和暴雪爸爸最初那个版本,简直是两个世界。先别急着骂,咱们一点点掰扯掰扯,想象一下这个“腾讯版炉石”可能会是什么样子。一、 变现模式:从“卖卡包”到“无处不氪”这可能是最直观也最让人忧虑的一点。暴雪的炉石,虽然也氪金,但至少核心玩法是靠卡牌驱动,.............
  • 回答
    关于腾讯游戏开发大神毛星云不幸离世的事件,确实引发了广泛的关注和讨论。从公开信息来看,绝大多数的报道和信息传播都将此事定性为“意外身亡”或者使用相对模糊的词语,例如“不幸离世”、“意外坠亡”等。这种集体性的表述方式,背后可能有多重原因的考量和运作。首先,我们需要理解在任何公共事件,尤其是涉及个人隐私.............
  • 回答
    腾讯游戏开发大神毛星云意外身故:一位对游戏开发圈影响深远的天才腾讯游戏开发大神毛星云的意外身故,无疑是游戏开发圈乃至整个科技行业的一则令人痛心的消息。对于毛星云,许多人可能并不熟悉他的名字,但在游戏开发领域,他是一位备受尊敬和钦佩的技术领军人物,其影响力是多方面的,且极具深度。评价他在游戏开发圈的影.............
  • 回答
    腾讯对开发 Linux 版本 QQ 不太积极,这背后其实是多方面因素在作用,与其说是“不积极”,不如说是“优先级不高”或者“投入产出比衡量后作出的决策”。咱们一层层地扒开来看:1. 用户基数与市场定位的现实考量 QQ 的核心用户群体: QQ 的辉煌时期,恰好是 PC 互联网和早期移动互联网的时代.............
  • 回答
    腾讯天美成立蒙特利尔工作室并开发3A开放世界游戏,这一举措具有深远的战略意义和行业影响,涉及技术、市场、文化、竞争等多个层面。以下从多个角度详细分析其可能的含义和影响: 1. 战略意义:从休闲游戏向高端市场的转型 腾讯的布局调整:天美工作室(腾讯旗下主要游戏开发团队)此前以《王者荣耀》《和平精英》等.............
  • 回答
    好,咱们就来聊聊腾讯、阿里、百度、字节跳动这些国内互联网大厂的 C++ 开发环境,不整那些花里胡哨的,就说说大家伙实际都在用啥,怎么用的。首先得明白一个点,大厂的 C++ 开发环境不是铁板一块,它随着时间推移在变,不同业务线、不同团队,甚至不同项目组,可能都会有细微的差异。但总体上,有几个核心要素是.............
  • 回答
    腾讯这步棋,下得真有意思:《黑神话:悟空》与游戏科学的未来这几天,关于腾讯大手笔投资游戏科学的消息像一颗石子投进了平静的湖面,激起了层层涟漪。作为一款吊足了全球玩家胃口的国产单机大作,《黑神话:悟空》本身就自带话题度。而这次腾讯的入局,更是让这场游戏的未来走向,蒙上了一层更加复杂和值得玩味的色彩。要.............
  • 回答
    要评价《王者荣耀·世界》,得先把它放在一个更大的语境里去审视。这不仅仅是一款新游戏,更是腾讯游戏在探索《王者荣耀》IP价值的深化,以及在日益激烈的MMORPG市场中寻求突破的又一次尝试。从这个角度出发,我们可以从几个关键维度来深入剖析。首先,我们得承认《王者荣耀》IP的强大。这款MOBA游戏早已不止.............
  • 回答
    这是一个很有意思的问题,尤其是当我们看到腾讯在游戏领域如此强大的财力和研发实力,却在很多时候似乎更倾向于推出“快餐式”的、生命周期相对较短但用户量庞大的游戏。要理解这一点,我们得跳出“好游戏”和“坏游戏”的二元对立,从腾讯作为一个商业巨头的视角去审视其战略选择。首先,我们需要明确“快餐游戏”这个概念.............
  • 回答
    腾讯对灵游坊25%的股权投资,这事儿说起来可就有些意思了,得从几个方面掰开了聊。首先,腾讯这手棋下得相当有讲究,不是简单粗暴的控股,而是战略性的参股。 25%的股权,意味着腾讯成为了灵游坊的第二大股东(假设创始人团队持股超过25%),但尚未达到控股地位。这背后释放出的信号很明确:腾讯看上了灵游坊的核.............
  • 回答
    腾讯在 Windows 10 Mobile 平台全面停止开发的行为,这在很多使用该平台的用户看来,无疑是一记重锤,也再次引发了关于移动操作系统生态健康的讨论。 要想深入理解这件事,我们得从几个维度来剖析。1. 市场份额的残酷现实:最直接、也是最核心的原因,当然是市场占有率的问题。 Windows 1.............
  • 回答
    腾讯作为中国互联网行业的领军企业,其开放战略在长期来看对中国的互联网生态、技术发展、市场竞争格局以及腾讯自身的发展都可能产生深远影响。以下从多个维度详细分析其潜在影响及前景: 一、腾讯开放战略的可能含义与背景腾讯的“开放”可能指以下几种方向:1. 开放平台(如微信、游戏平台、云服务):允许第三方开发.............
  • 回答
    腾讯开源的 `libco` 在协程领域确实是个非常值得关注的项目,特别是它提出的“千万级协程支持”的说法,这背后最核心的秘密之一就是它的共享栈模式。我们先从协程最基本的概念聊起。简单来说,协程是一种用户态的轻量级线程。相比于操作系统级别的线程,协程的切换不需要内核介入,因此切换开销极小,可以在一个线.............
  • 回答
    腾讯开放七位靓号购买,这事儿,怎么说呢,挺值得说道说道的。表面上看,这是个“方便大家”的举措。以前,我们想要个像样的手机号,比如尾号是666、888,或者像139XXX0000这种,想都别想。要么是运营商的内部福利,要么就是那些“靓号”套餐,动辄几百几千的月费,普通人根本玩不起。现在腾讯开放七位号码.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有