Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Hyperledger Fabric scalability

I have an already built Hyperledger Fabric system which can process x tps(transaction per second). In the future, maybe the requirement for the system is not just x tps.

Then, how to scale up Hyperledger Fabric system to satisfy higher requirement?

like image 433
CK01 Avatar asked Apr 20 '18 03:04

CK01


2 Answers

There are a few ways you can do this. One is to increase the population of endorsing peers and distribute the load of endorsing proposals across that larger set. For example, if you currently have an endorsement policy that says you need 3 members of the total of 5 organizations to endorse transactions and each organization has a single endorsing peer, eventually you will reach saturation for your tps. If you add another endorsing peer to each organization, and distribute the endorsing load evenly across the new and old set of endorsing peers, you should see greater throughput.

If you have multiple channels executing concurrently, you could consider having separate endorsing peers for the various channels, as that will have a similar affect as the strategy above.

Of course, the projects maintainers are constantly looking to optimize the code to improve performance, so keeping current on new releases as they are published is another.

Finally, you can also look to leveraging faster hardware (e.g. with crypto acceleration for the algorithms used), you should also see an increase, though possibly not as much as if you applied the first strategy.

like image 178
christo4ferris Avatar answered Sep 28 '22 11:09

christo4ferris


Adding to the above answer, there is a limit upto which the current system can be scaled and we have to design the system to handle it beforehand. For ex -

  1. Design a multiorg architecture and use anchor peers for broadcasts and all.
  2. Adding more nodes in the OSN kafka cluster.
  3. Adjusting the endorsement policy.
like image 44
Raj_Shekhar Avatar answered Sep 28 '22 11:09

Raj_Shekhar