Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

mao-service-discovery-windows

MaoJianwei1.2kApache-2.01.6.9-windows-rc1-master-5b341fc4f026c7081a6438c4e7dfa235c0f1a4b8.0

Discover your services by using gRPC stream, ICMP or etcd. Come with WebGUI, Restful API and Config Persistence ability.

utils, microservices, service-discovery, monitor, system-monitor, icmp, grpc, etcd, grpc-go, etcdv3, icmpv6, icmp-ping, grpc-ping

readme

Mao Service Discovery

Category Job
Build Go (Linux/Win/MacOS) Go Static (Linux/Win/MacOS) vue3 Node.js
Test CodeQL Docker Image CI
Analyze Analyze Dependency Relationships Map
CI/CD Node.js Package Publish (Commit) (Linux) Node.js Package Publish (Commit) (Raspberry-Pi-arm) Node.js Package Publish (Commit) (Windows) Node.js Package Publish (Commit) (WebUI) Docker Image Publish
Linux Package Github Docker Image = NPM official = Taobao & Alibaba Cloud mirror
Windows Package NPM official = Taobao & Alibaba Cloud mirror
WebUI Package NPM official = Taobao & Alibaba Cloud mirror

Quick Show - Digital Map

Digital Map

For this example, we utilizes the map UI and API provided by ONOS_TopologyShow_ChineseMap project :)

Build

Method 1: Compile and link statically, and build WebUI 2.0

./build_all.sh

Method 2: Compile and link statically

./statically_linked_compilation.sh

Method 3: Build WebUI 2.0

./build_webui.sh

Run

Example 1: Run client

./MaoServerDiscovery client --report_server_addr 2001:db8::1 --silent --log_level WARN

Example 2: Run server

In order to open the ICMP listening socket, you need CAP_NET_RAW capability from setcap / root account / sudo to run this command.

$ sudo setcap CAP_NET_RAW+eip ./MaoServerDiscovery
$ getcap ./MaoServerDiscovery
  [output] ./MaoServerDiscovery cap_net_raw=eip
./MaoServerDiscovery server --report_server_addr :: --silent --log_level WARN \
    --influxdb_url https://xxxxxx.maojianwei.com:12345 --influxdb_org_bucket xxxxxx --influxdb_token xxxxxx==

client_help_example.png

server_help_example.png

Web UI 2.0

WebUI_1.png

WebUI_1_1.png

WebUI_2.png

WebUI_3.png

Software Architecture

Please refer to MODULES.md file.

Todo List

Please refer to the agile board.

Initial need

Discover your service by two methods:

  1. Client-Server mode, using gRPC stream.
  2. Server-only mode, using ICMP.
  3. Using etcd.

Product: Client-Server mode, using gRPC stream.

1. REST API (JSON format)

2-json-format.png

2. Web Monitor

2-readable-format.png

3. CLI Output

2-cli-output.png

4. CLI Parameters

2-cli-parameters.png

Demo 1: Client-Server mode, using gRPC stream.

Client-Server mode, using gRPC stream. 1

Client-Server mode, using gRPC stream. 2

client-server-mode-production.png

Demo 2: Using etcd.

Using etcd.

Architect

Jianwei Mao

https://www.MaoJianwei.com/

E-mail: maojianwei2012@126.com

.

JetBrains Logo Supported by JetBrains IDEA Open Source License 2020-2024.