☀部署使用

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

Last modified December 9, 2023: commit (f658901)