Updated on 2024-05-06 GMT+08:00

Development Introduction

Overview

A stable and reliable microservice running environment is crucial as the microservice architecture has become the first option for developers to build applications.

Cloud Service Engine (CSE) is a one-stop management platform provided by ServiceStage for microservice solutions. It enables developers to focus on service development and improve product delivery efficiency and quality. The microservice architecture consists of the following:

  • Remote Procedure Call (RPC) communication between microservices. The microservice architecture requires that microservices communicate with each other through RPC instead of other traditional communication modes, such as shared memory and pipes. Common communication protocols include REST (HTTP+JSON), gRPC (HTTP2+protobuffer) and Web Service (HTTP+SOAP). Using RPC for communication reduces coupling between microservices and makes the system more open with less technological restriction. You are advised to use standard protocols in the industry, such as REST. Proprietary protocols can also be used in scenarios requiring high performance.
  • Distributed microservice instances and service discovery. The microservice architecture is highly elastic and needs to support multi-instance deployment of microservices to handle the dynamic service traffic. The microservice design is generally stateless. Increasing stateless microservice instances lets you improve processing performance. When there are a large number of instances, a middleware that supports service registry and discovery is required for microservice calling and addressing.
  • Dynamic and centralized configuration management. The configuration of microservice management is increasingly complex as the number of microservices and instances increases. The configuration management middleware provides a unified view for all microservices, simplifying the configuration management of microservices. Such middleware works with the governance console to adjust microservice at microservice runtime to handle changing service scenarios without application upgrade.
  • Microservice governance capabilities, such as circuit breaker, fault tolerance, rate limiting, load balancing, and service degradation. These governance capabilities can mitigate the impact of some common faults of the microservice architecture on the services.
  • Tracing and centralized log collection and retrieval. Viewing logs remains the most commonly used method for analyzing system faults. Tracing information helps locate faults and analyze performance bottlenecks.

The microservice architecture has been implemented on many open-source frameworks, such as Spring Cloud, Apache ServiceComb Java chassis (Java chassis for short). Microservice engines support the access of these open-source microservice frameworks and use functions such as registry, discovery, centralized configuration, and service governance. The following figure shows the relationship.

You can use Spring Cloud and Java chassis microservice development frameworks to access the microservice engine to obtain the best development experience and technical support. Using other development frameworks, such as Mesher to access the microservice engine depends on the technical support of the open-source community.

This topic focuses on the development guide of Spring Cloud and Java chassis. Microservice applications developed using other frameworks such as Mesher use CSE engine. See Using CSE Engines by Mesher.

Development Capability Requirements

This document describes how the open-source microservice development frameworks are connected to a microservice engine and use its functions. Assume that you have the following development capabilities:

  • Using Java to develop microservices. You have developed an application based on a microservice development framework supported by ServiceStage and want to host the application on the microservice engine. This document provides technical support for connecting microservice applications to the microservice engine. This document does not describe how to use the open-source microservice development frameworks. You can obtain the basic materials and development guides of these frameworks in relevant open-source communities.
  • Understanding the functions of the registry center and configuration center in microservice applications, and building and using the registry center in projects. Different microservice development frameworks support different open-source registry centers by default. Therefore, understanding the functions of a registry center helps you change registry centers at ease.