Some of the work Im working on might be useful for this topic.
For the past months I have been working on a modular Ethereum client in Go (https://github.com/umbracle/minimal). The main goal is to increase the use cases for the client by building it with plug and play components. For example, a discovery protocol to build clusters of nodes or an bandwidth-limited syncer protocol for contrained devices.
Besides, I am also working on another project that might be of interest for the data ring. Heura (https://github.com/umbracle/heura) is a Domain-Specific Language (DSL) to interact with Ethereum smart contracts. With a couple of lines is possible to call smart contract functions or listen for
events on specific topics. It is intended to make it extensible with plugins (e.g. send email alert messages for specific events or dump an ETL operation into a JSON file). Heura could be used to build indexes and digesting services for Dapps on top of Minimal.
I hope I can be of any help.