What is sofa-bolt?

For official documents, please refer to: https://www.sofastack.tech/projects/sofa-bolt/sofa-bolt-handbook/

1. What is sofa-bolt?

SOFABolt is a network communication framework based on Netty developed by Ant Financial Services Group .

  • In order to allow Java programmers to focus more on the implementation of business logic based on network communication, instead of being too entangled in the implementation of the underlying NIO of the network and dealing with network problems that are difficult to debug, Netty came into being.
  • In order to allow middleware developers to focus more on the realization of product features, instead of manufacturing the wheels of the communication framework over and over again, SOFABolt came into being.

Bolt takes its name from Disney Animation-Lightning Dog. It is a lightweight, easy-to-use, high-performance, and easy-to-expandable communication framework based on Netty best practices. Over the years, we have solved many problems in microservices and messaging middleware in network communication, accumulated a lot of experience, and continued to optimize and improve. We hope to deposit the summarized solutions into the basic component of SOFABolt. So that more scenarios that use network communication can benefit in a unified manner. At present, the product has been used in many products such as ant middleware's microservices ( SOFARPC ), message center, distributed transaction, distributed switch, and configuration center.

2. What is the problem to be solved?

  • Basic communication function (remoting-core)
    • Netty-based efficient network IO and threading model application
    • Connection management (non-lock connection establishment, timing disconnection, automatic reconnection)
    • Basic communication model (oneway, sync, future, callback)
    • Timeout control
    • Batch unpacking and batch submission processor
    • Heartbeat and IDLE event handling
  • Protocol-skeleton
    • Command and Command Processor
    • Codec processor
    • Heartbeat trigger
  • Customized implementation of private protocol-RPC communication protocol (protocol-implementation)
    • Design of RPC communication protocol
    • Flexible deserialization timing control
    • Request processing timeout FailFast mechanism
    • User request processor (UserProcessor)
    • Sokou Tsushin

3. Where can I download it from?

The source code can be downloaded on Code Cloud, and the project is open source.

https://gitee.com/sofastack/sofa-bolt?_from=gitee_search

4. How to use it?

For specific use, please refer to the Jianshu blog, which has detailed source code analysis and demo to help you get started quickly.

https://www.jianshu.com/p/6328b7d11529

5. What is the usage scenario?

Will be added later. . .

Guess you like

Origin blog.csdn.net/qq_34050399/article/details/114971461