☀部署使用
nmid的使用可以分为两类,一个是作为微服务的rpc框架使用,同时兼具调度和分发服务的作用,这是最主要的使用场景。 还有一个是可以结合k8s使用,作为k8s微服务容器的sidecar使用。
rpc使用
作为rpc使用,就是典型的cliet,nmid-server,worker三者的使用关系。当然可以中间加入注册中心进行使用。 具体的示例可以查看🌰例子和📡Discovery注册中心
docker使用
从docker.io拉取镜像,开通rpc的6808端口和http的6809端口
docker run -d -p 7808:6808 -p 7809:6809 --name nmid nmid:56
在k8s作为sidecar使用
这里以npartword分词微服务为例
apiVersion: apps/v1
kind: Deployment
metadata:
name: npw-deployment
namespace: npw
labels:
app: npw
spec:
replicas: 3 #根据情况定义副本数
selector:
matchLabels:
app: npw
template:
metadata:
labels:
app: npw
spec:
containers:
- name: nmid-sidecar #使用nmid作为npartword服务sidecar
image: docker.io/hughnian/nmid:56 #这里的tag根据具体镜像tag取值
command: ["/etc/service/run"]
ports:
- name: tcp
containerPort: 6808
- name: http
containerPort: 6809
- name: npartword
image: docker.io/hughnian/npartword:3 #这里的tag根据具体镜像tag取值
command: ["/etc/service/run"]
---
apiVersion: v1
kind: Service
metadata:
name: npw-service
namespace: npw
spec:
selector:
app: npw
ports:
- name: npw-tcp
nodePort: 30688
port: 6808
protocol: TCP
targetPort: 6808
- name: npw-http
nodePort: 30689
port: 6809
protocol: TCP
targetPort: 6809
type: NodePort
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
field.cattle.io/description: npw-service-http
name: npw-service-http
namespace: npw
spec:
defaultBackend:
service:
name: npw-service
port:
number: 6809
rules:
- host: npw.mytest.com #使用自己相应域名
http:
paths:
- backend:
service:
name: npw-service
port:
number: 6809
path: /
pathType: Prefix
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.
Last modified December 9, 2023: commit (f658901)