谈谈Steemit稳定性问题

in #cn7 years ago (edited)

最近几天,Steemit的不稳定性给用户带来了不少麻烦。

在我看来,主要原因是,Steemit的 Public RPC full node承受了太多请求压力。

Steem节点介绍

Steem的底层是个巨大的P2P网络,主要由三种节点构成:

  1. Witness Node: 由见证人运行,用来验证交易,确保steem底层网络安全,并发行steem加密货币

  2. Seed Node: 类似于传统P2P的种子节点,主要用来广播交易,并提供了基本的登录和数据库API

  3. Full Node: 类似于传统web服务器,主要提供了对于数据访问的API,比如tags, followers, market history, exchange,Steemit, Busy, Chinabb,以及Cnsteem, Steemkr, 只有依靠这类节点才能运行。

上述三种Node, 有些功能是重叠的,可以通过节点的config进行控制。

节点数量和运行成本

运行成本: Witness Node < Seed Node < Full Node , 也就造成了相应的节点数量依次递减

Full Node的运行成本到底有多大?

运行一个Full Node所需机器至少要 > 100GB 内存
首先市场上满足这种要求的云服务商不多
最便宜的应该是 Privex (见证人@someguy123的公司), 一个月要200刀,初装费200刀
同等配置,使用其他云服务商,一个月费用要500刀-1000刀
相比之下,一台witness服务器月花费大约60刀

贴一张价格配置图:

可用公共Full Node

目前只有这5个可用full node, 主要由见证人提供,而且大部分在欧洲,我的cnsteem服务器在香港,使用官网的steemd.steemit.com比较稳定

现在steemit日活跃用户大约3万,日发帖约8.5万,日投票40多万

结果90%的请求压力集中在官网的full node上了

另外Busy.org, ChainBB 这几天之所以运行稳定, 应该是他们有自己的私有full node.

解决

我自己想到的有以下三点

  1. 前30名见证人提供更多可用full node, 不管是Public 还是 Private 的,都可以减少steemit node的压力

  2. 大家自己的机器人修改一下node的节点,gtg.steem.house:8090 就非常稳定,可靠

  3. 优化一下steem底层,减少内存的使用,这点难度应该很大...

结尾

https://cnsteem.com 是我个人维护的一个steemit 中文前端界面,其是steemit官网UI的克隆,主要针对中文区进行开发,代码已完全开源,欢迎大家使用,在一定程度上也能减轻steemit官网的压力..

我有计划,把自己目前运行的一台witness node 升级成为 private full node, 供 cnsteem.com使用, 就先不再号召大家选我当见证人了。。

Sort:  

好样的,技术强就是好!

牛人 膜拜 呀。。都看不太懂。cnsteem.com昨天终于去登陆啦,除了有钱能使鬼推磨,其它都好~~~

哈哈,看来我得改一下了, 确实有点俗..

你真的很強啊!棒棒哒!等需要時,喊我一聲,我會投你一票的。

關於"有錢能使鬼推磨",我先幫你想了兩個可以參考一下:

  • 每個人的故事,都有價值。
  • 書寫中自有黃金屋

哈哈,谢谢啦,我觉得第二个很好呀!我考虑把它换了。

我有个提议:妙笔生金。

Steemit的scalability是个大问题吗?如果用户增加一百倍是不是运行成本也要增加一百倍?

如果用户增加100倍,steem这个价格也会增加,最后所有的full node, 都可以用data center, 和现在所有大公司一样,而且EOS 正解决scalability的问题。

牛人技术贴,留个名。期待你的fullnode。

另外你说的配置应该是最低要求,目前的流量来看,steemd.steemit.com官方fullnode的运行成本大概是多少?

我具体不知道他们运行了多少台full node, 以5台算,按照一台美元200刀,大约1000刀配置费用,再加上各种人工费,应该也不少。不过相比一些大公司,费用算低的了。

懂技术的人就是牛!这个活我一年前也想过,不会做,技术不到位!

我也是边查边学的,我会把搭建过程,写出来

不错,我也顺带学学!!

witness node是不是要先当选见证人才能运行?

不是的,是先运行,才能再让别人选你见证人。

然后票数最高的那二十多位负责出块就有奖励了对么?

对,前10名大约一天1000刀..

期待CNsteem越来越好。

感谢为中文区做的工作
见证人除了abit肯定也要投你的

感谢分享

补充两个节点:
https://steemd.pevo.science
https://seed.bitcoiner.me

详情可以看我这个帖子:
https://steemit.com/cn/@oflyhigh/steem-full-api-list-of-public-steem-full-api-nodes

另外,说明一下,上边列出的好几个节点没开broadcast API 😭

谢谢O哥,我回去试试这几个,我试的好几个都不能用。