Architecting a Networking and Database Library

A

For one of my projects, needed to build a networking and data layer as a library which could be used in my Unity game. I wanted a single library which would provide data model classes, handling both persistence (database) and client/server transport (networking).

It made sense to build the project using C# .NET 4.6, meaning that it’d use the same language / framework as Unity itself. However, the rest of the architecture decisions I made are largely language agnostic. In the following posts, I’ll discuss both the code (implementation), as well as related (i.e., deployment) topics.

Features

    • Pluggable networking, with GRPC (HTTP/2) & GraphQL (HTTP 1.1) supported natively.
    • Pluggable databases, with MySQL and Sqlite supported natively.
  • Server deployed on AWS (ElasticBeanstalk) with auto-scaling and load-balancing.
  • Client targeting all platforms (iOS, Android, Windows, Mac, Linux, Web).

Articles

 

About the author

zane

Thank you for your comments — they help motivate me to keep writing. The kindest show of support is to share this with someone who'd like it.

Add Comment

By zane

Recent Posts

Recent Comments

Archives

Categories

Meta

Recent Posts

Categories

Tags

zane

Thank you for your comments — they help motivate me to keep writing. The kindest show of support is to share this with someone who'd like it.

Get in touch

Quickly communicate covalent niche markets for maintainable sources. Collaboratively harness resource sucking experiences whereas cost effective meta-services.