谈谈Steemit稳定性问题

in #cn3 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哥,我回去试试这几个,我试的好几个都不能用。

等我的SP全部回来后我就给你投见证人!

哈哈,谢谢,我最近先继续优化网站

Congratulations @skenan! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of comments

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

赞!转去cnsteem.com果然快多了!