LUI️X[ˈluːɪks] RPC is an easy-to-use, high-performance RPC(Remote Procedure Call) framework with builtin service registration & discovery, traffic management, fault tolerance, monitor tools and best practices for building enterprise-level microservices.
Prior to building this project, it is necessary to install the JDK on your machine. The JDK can be installed using SDK Man.
sdk install java 21.0.1-amzn
Note
|
Java compatability: Java 21 above |
Install docker to simplify development, run:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
To start a mongodb database in a docker container, run:
docker-compose -f docker/mongodb.yml up -d
To start local Consul registry, run:
docker-compose -f docker/consul.yml up -d
To start local Prometheus and Grafana services, run:
docker-compose -f docker/monitoring.yml up -d
Then navigate to https://localhost:3000 in your browser to access Grafana with username: admin and password: admin
-
Run the command under the project root directory
npm run docker:build
-
Or run the below command if using ARM CPU
npm run docker:build:arm64
-
Navigate to
https://127.0.0.1:4001
to access LUIX RPC server demo -
Navigate to
https://127.0.0.1:4002
to access LUIX RPC client demo -
Navigate to
https://127.0.0.1:4003
to access LUIX RPC Web Center
Username | Password | Authorities |
---|---|---|
louis |
louis |
user,admin,developer |
Sonar is used to analyse code quality. You can start a local Sonar server (accessible on https://localhost:9001) with:
docker-compose -f docker/sonar.yml up -d
Note: we have turned off authentication in [docker/sonar.yml](docker/sonar.yml) for out of the box experience while trying out SonarQube, for real use cases turn it back on.
You can run a Sonar analysis with using the sonar-scanner or by using the maven plugin.
Then, run a Sonar analysis:
./mvnw -Pprod clean verify sonar:sonar
If you need to re-run the Sonar phase, please be sure to specify at least the initialize
phase since Sonar properties are loaded from the sonar-project.properties file.
./mvnw initialize sonar:sonar
For more information, refer to the Code quality page.