# Software Architecture

+ **`Interfaces:`** Methods to be invoked by application
+ **`Transaction:`**  Implements transactional logics
+ **`RegionRequestSender:`** Locate and group request by regions
+ **`RPCClient:`** Provides connections pool with `TiKV stores`
+ **`gRPC:`** The **`grpc-go`** library and client stub
+ **`Metadata Cache:`** Local cache of metadata (e.g, `region` information)
![`smart`](TiKVSoftwareArch_aa_001_20221027.png)

------------------------------------------------------------
Note: the architecture here is not completely the same as codes, but have some adjustments for easier to read.
