Official Steemit Updates: Intrigued About Jussi And AppBase

in #steemit6 years ago

As I already wrote yesterday, Steemit rolled out a few updates. We now have the official announcement from @steemitblog which highlights the new stuff as well as giving hints about the more consistent development on the blockchain.

For the UI updates you can have a look at this post, but the more interesting, at least to me, is the one about backend improvements.

As you may know already, I deployed my own content node, in order to better serve steem.supply users. I've been quiet about this because the blockchain replaying is not finished yet. In other words, it took more than 5 days to get a copy of the blockchain via the normal p2p process. Even more, the logs of the p2p process of the node are very different, more verbose and it's clear that something is going on there.

So, why is this happening?

First of all, I think there were quite a few attacks on the network lately, and parts of the code are dealing with that. Second, there are 2 big things coming up. And these are the ones that I mentioned in the title.

Jussi

Jussi is a JSON proxy in front of Steem. It's like nginx (it actually uses nginx as part of its process) only it translates specific queries from the Steem API.

Let's say you want to build your own node. Because of the size of the blockchain (well over 130GB on my node, which, again, didn't finish yet) you have to make a tough decision now: which APIs are you going to enable? Only accounts? Only market? Only witness? If you include them all you may need to put at least 512GB of SSD storage on the table (the actual data will be around 140-150GB, but my own practice dictates that I always have more than double of the used space on any storage device).

Well, Jussi may solve this by routing specific API requests to other servers. In this setup, if I understand correctly the inner bolts of Jussi, you can set up a front server with relatively low hardware specs, which will hold only the Jussi instance, then add a specific server for each specific API. You could end up having a server running a version of Steemd blockchain but only with account data, and another one only with market data.

I think it's a good solution, but it's still early to tell how this will scale in a year or two. Nevertheless, I'm really looking forward to see what comes out of it.

AppBase

AppBase is a new parallel architecture that will make requests to various APIs run on parallel threads. If I'm not mistaken, the concepts were first laid out when @dan was still around, and they were dubbed FABRIC. This is a bit foggier to me than Jussi, but more intriguing.

If various APIs could be queried at the processor level on concurrent threads, then we're in for something really big. Of course, parallel processing is not an easy task and things may go wrong at times. But if this is implemented, I think we can have a good infrastructure layout for SMT.

The bet here is not Steemit itself, which, with enough hardware thrown at it, can scale hundreds of thousands of active users - or at least that's what I think looking at the codebase. Just put 100 TB of SSD, cluster in a kubernetes environment 40 machines and you can go to the beach.

But if you want to run many Steemd clones on top of Steemd itself (which is basically what SMT are doing) then your challenge is become logarithmic. And logarithmic is tough.

All in all, I'm really looking forward to see the development on AppBase and to take Jussi to a test drive.


I'm a serial entrepreneur, blogger and ultrarunner. You can find me mainly on my blog at Dragos Roua where I write about productivity, business, relationships and running. Here on Steemit you may stay updated by following me @dragosroua.


Dragos Roua


You can also vote for me as witness here:
https://steemit.com/~witnesses


If you're new to Steemit, you may find these articles relevant (that's also part of my witness activity to support new members of the platform):

Sort:  

I don't understand completely what you're saying, but I appreciate the fact based non-hyped manner in which you present the material.

Makes me feel better about the future of steemit and confident in the time I spend here will one day my rewards will increase exponentially.

What's the difference between logarithmic changes and exponential increase?

Good information, at least we can understand what was happening

more consistent development now that's going to be cool :D

interesting! and yes i noticed the steemitwebsite is going smooth again today! whoohoo!

I've been away for awhile and don't know what is happening. Thanks for all you do.

You're welcome :)

So what I understand is that these updates are to enable SMTs and to improve security. Am I right?

Nothin specific from the Steemit team about that, but from my understanding of the app architecture, that's the direction.

Thanks for this explanation, slowly getting my head around it, at least from a high level.

Beach? Sounds like a plan to me :)

Have a good day!

very good information friend, thank you very much friends for sharing, my friend really need your support. help my friends always steemit, I still have not much experience in the field of steemit.
thanks.

So if I want to build a site on top of Steem block chain to advertise, I could just do that by opening up that specific API with less hardware ?

Is that right based on what I understood ?

Coin Marketplace

STEEM 0.31
TRX 0.12
JST 0.034
BTC 64742.01
ETH 3172.49
USDT 1.00
SBD 4.10