๐ช๐ต๐ ๐ฑ๐ผ๐ฒ๐ ๐๐ผ๐ผ๐ด๐น๐ฒ ๐ฟ๐ฒ๐ฐ๐ผ๐บ๐บ๐ฒ๐ป๐ฑ ๐ ๐ผ๐ฑ๐๐น๐ฎ๐ฟ ๐ ๐ผ๐ป๐ผ๐น๐ถ๐๐ต๐ ๐ถ๐ป๐๐๐ฒ๐ฎ๐ฑ ๐ผ๐ณ ๐ ๐ถ๐ฐ๐ฟ๐ผ๐๐ฒ๐ฟ๐๐ถ๐ฐ๐ฒ๐?
In the last decade, we have seen a massive trend of using microservices everywhere. We were building systems for a few hundred or thousand users and wanted to know how to make a system for millions of users. This was over-engineering and needed to be corrected. Why it was wrong? Because the development lasted long and we created incredibly complex systems, hard to maintain. This is especially true for startups that must go fast and stay simple.
A recent paper by authors from Google found that most of their developers split binaries for one of the following reasons: it improves performance, fault tolerance, and abstraction boundaries and allows for flexible rollouts.
Yet, splitting applications into microservices has its challenges:
๐ธ ๐๐ ๐ต๐๐ฟ๐๐ ๐ฝ๐ฒ๐ฟ๐ณ๐ผ๐ฟ๐บ๐ฎ๐ป๐ฐ๐ฒ. The overhead of serializing data and sending it across the network is increasingly becoming a bottleneck
๐ธ ๐๐ ๐ต๐๐ฟ๐๐ ๐ฐ๐ผ๐ฟ๐ฟ๐ฒ๐ฐ๐๐ป๐ฒ๐๐. It is incredibly challenging to reason about the interactions between every deployed version of every microservice.
๐ธ ๐๐ ๐๐ฎ๐ธ๐ฒ๐ ๐๐ผ๐ฟ๐ธ ๐๐ผ ๐บ๐ฎ๐ป๐ฎ๐ด๐ฒ. Rather than having a single bi-nary to build, test, and deploy, developers must manage ๐ different binaries, each on their release schedule.
๐ธ ๐๐ ๐ณ๐ฟ๐ฒ๐ฒ๐๐ฒ๐ ๐๐ฃ๐๐. Once a microservice establishes an API, it becomes easier to change by breaking the other services that consume the API.
So, they proposed the following approach:
๐ญ. ๐ช๐ฟ๐ถ๐๐ฒ ๐บ๐ผ๐ป๐ผ๐น๐ถ๐๐ต๐ถ๐ฐ ๐ฎ๐ฝ๐ฝ๐น๐ถ๐ฐ๐ฎ๐๐ถ๐ผ๐ป๐ that are modularized into logically distinct components. A component is a long-lived agent, similar to an actor.
๐ฎ. ๐๐ฒ๐๐ฒ๐ฟ๐ฎ๐ด๐ฒ ๐ฎ ๐ฟ๐๐ป๐๐ถ๐บ๐ฒ ๐๐ผ ๐ฑ๐๐ป๐ฎ๐บ๐ถ๐ฐ๐ฎ๐น๐น๐ and automatically assign logistical components to physical processes based on execution characteristics. So, if both components are in the same OS process, they are called regular method calls, but if they are co-located, calls are executed as RPCs over the network. Runtime decides whether these modules should be collocated or moved to different machines (and scaled, etc.).
๐ฏ. ๐๐ฒ๐ฝ๐น๐ผ๐ ๐ฎ๐ฝ๐ฝ๐น๐ถ๐ฐ๐ฎ๐๐ถ๐ผ๐ป๐ ๐ฎ๐๐ผ๐บ๐ถ๐ฐ๐ฎ๐น๐น๐, preventing different versions of an application from interacting.
This approach consists of two main parts: a programming model with abstraction that allows developers to write modularized applications and a runtime for building, deploying, and optimizing these applications. They claim that it reduces application latency by up to 15x and costs by up to 9x by simplifying application management and deployment.
If you want to check the framework implementing the approach from the paper, check https:// serviceweaver. dev/.
What do you think about this approach? Does it look like EJBs or CORBA?
#microservices
1/6 Solana dApp devs are always looking for public nodes. So, we made up a list of 80+ @solana RPC endpoints by scanning the network via publicly available Solanaโs JSON-RPC. Check it out on GitHub:
๐ย https://t.co/m6cWVxb83j
Big opportunity!๐
I just completed the #DOPtestnet๐ and now I qualify for future DOP token rewards!
@dop_org tackles blockchain over-transparency, giving users control of their financial data.
Finish testnet tasks now for future token rewards: https://t.co/jxPRwzb06y
Get ready for opBNBโs Odyssey From Testnet to Mainnet!
๐ Claim your opBNB Genesis NFT & a share in the $50,000 airdrop! ๐
๐๏ธ August 10th - September 15th
Dive into the campaign details here:
https://t.co/jPYm65SDqQ
https://t.co/Gt7lSzj1EC
I'm excited about the @Shardeum Liberty alphanet! #Shardeum is building an EVM-based L1 that can deliver low gas fees forever by adding more nodes.
Requesting 100 #SHM from the Shardeum faucet. https://t.co/mfztIoAlas
My address is: 0x74aB44A68512128D86C3D87610659A696431ACF5
โจ๐ดQiDao @optimismFND x Galxe Quest is live! ๐ดโจ
1โฃ Learn about $MAI and https://t.co/mbwKhyBtpz
2โฃTest your knowledge
3โฃComplete the quest
๐ Get $QI / $OP airdropped and a @GalxeHQ NFT!
๐ Start here: https://t.co/0ODbIDIZcf
I just deposited $25 into my @pooltogether_ prize savings account! Join me and thousands of others saving $50,198,020 and winning 859 prizes daily. #PoolTogether https://t.co/QRNHnjHRqz