In April, Beamable released SDK versions 1.14.1, and 1.15.0. Here are the highlights from the previous month of releases.
Our changelogs can be found at https://beamable.github.io/changes
In Beamable 1.15.0, the Microservice performance has been dramatically improved for long-running services receiving game-level traffic in production environments.
Two major issues were addressed. Firstly, a multi-threaded access violation could occur during high-traffic periods in the deserialization pathway of a Microservice. The deserialization bug would cause seemingly random requests to fail for seemingly unknown reasons. Secondly, a running service’s max CPU utilization levels would periodically jump to 100% and stay there until a redeploy event. Microservices running at 100% CPU utilization cause extreme failure cases because there is no wiggle room for the service to process new requests.
The root cause of this error was traced to a bug during the secure websocket authorization process that happened when the remote Beamable host needed to reset the connection. Both of these issues have been fixed in 1.15.0 and result in a much more reliable deployed Microservice.
We’ve been working towards an advanced workflow for Microservice and Microstorage.
Previously, Beamable Microservices were tied to the Unity development environment, which brought many challenges to developers. Microservices would compile in the same dotnet framework that Unity used. Using Nuget or recent dotnet features was not possible. Additionally, it was not possible to modify the .csproj or Dockerfile files that control the Microservice.
In Beamable 1.15.0, you can use Standalone Microservices. These allow you to create a Microservice in a separate dotnet solution. You can manage your own dependencies with Nuget, customize your .csproj to use advanced capabilities, and even modify the Dockerfile if you need to. Beamable has a command line interface tool called beam you can use to create and deploy standalone Microservices. You can run the Microservice directly from your IDE of choice or run it as a docker container to closely mirror the production environment. Microstorage is also available in this standalone format.
We are still developing these workflows, but you can check out the early documentation.
Sign up to give these and many more features a try today!