谈谈Steemit稳定性问题
最近几天,Steemit的不稳定性给用户带来了不少麻烦。
在我看来,主要原因是,Steemit的 Public RPC full node承受了太多请求压力。
Steem节点介绍
Steem的底层是个巨大的P2P网络,主要由三种节点构成:
Witness Node: 由见证人运行,用来验证交易,确保steem底层网络安全,并发行steem加密货币
Seed Node: 类似于传统P2P的种子节点,主要用来广播交易,并提供了基本的登录和数据库API
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.
解决
我自己想到的有以下三点
前30名见证人提供更多可用full node, 不管是Public 还是 Private 的,都可以减少steemit node的压力
大家自己的机器人修改一下node的节点,gtg.steem.house:8090 就非常稳定,可靠
优化一下steem底层,减少内存的使用,这点难度应该很大...
结尾
https://cnsteem.com 是我个人维护的一个steemit 中文前端界面,其是steemit官网UI的克隆,主要针对中文区进行开发,代码已完全开源,欢迎大家使用,在一定程度上也能减轻steemit官网的压力..
我有计划,把自己目前运行的一台witness node 升级成为 private full node, 供 cnsteem.com使用, 就先不再号召大家选我当见证人了。。
好样的,技术强就是好!
谢谢~
牛人 膜拜 呀。。都看不太懂。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哥,我回去试试这几个,我试的好几个都不能用。