An open API service indexing awesome lists of open source software.

https://github.com/beckbikang/ho-java

accept memcache protocol data save it to kafka on netty
https://github.com/beckbikang/ho-java

memcached netty

Last synced: 5 months ago
JSON representation

accept memcache protocol data save it to kafka on netty

Awesome Lists containing this project

README

          

# ho-java overview
accept memcache protocol data save it to kafka use netty

just use set command,write to kafka easily

# architecture

image

# the feature
1. ✅write data to kafka by topic
2. ✅registe server to consul
3. ✅add prometheus monitor application
4. add unittest

# how to use server

## 1 start Java server

image

## 2 use test script

```python
import memcache
mc = memcache.Client(['127.0.0.1:11222'], debug=True)
#mc = memcache.Client(['127.0.0.1:9090'], debug=True)
print(mc)
ret=mc.set("test_mc", "{\"a\":123}")
print(ret)
```
## 3 listen kafka show result

java server show this

image

other kafka client show this

image

# resgiste on consul

## 1 run consul

consul agent -dev -ui=true -client 0.0.0.0 &

http://127.0.0.1:8500/ui/dc1/services

## 2 add config

1. add spring-cloud library
2. add config
```
spring.cloud.consul.host=localhost
spring.cloud.consul.port=8500
spring.cloud.consul.discovery.service-name=ho-java-producer
```

image

# use prometheus

http://127.0.0.1:21314/actuator/prometheus

## run promethus

```
global:
scrape_interval: 10s
evaluation_interval: 10s
scrape_configs:
- job_name: 'spring'
metrics_path: '/actuator/prometheus'
static_configs:
- targets: ['127.0.0.1:21314']
```
docker run -d -p 9090:9090 -v /tmp/px.yml:/etc/prometheus/prometheus.yml prom/prometheus

## run grafana

docker run -d -p 3000:3000 --name=grafana -v /tmp/grafana:/var/lib/grafana grafana/grafana

http://127.0.0.1:3000/?orgId=1 访问