当前位置: 首页 > news >正文

网站名百度搜不到seo专家招聘

网站名百度搜不到,seo专家招聘,宜宾网站开发招聘,简单的asp网站Rocketmq rocketmq角色 RocketMQ由四部分构成#xff1a;Producer、Consumer、Broker和NameServer 启动顺序#xff1a;NameServer-Broker 为了消除单点故障#xff0c;增加可靠性或增大吞吐量#xff0c;可以在多台机器上部署多个nameserver和broker#xff0c;并…Rocketmq rocketmq角色 RocketMQ由四部分构成Producer、Consumer、Broker和NameServer 启动顺序NameServer-Broker 为了消除单点故障增加可靠性或增大吞吐量可以在多台机器上部署多个nameserver和broker并且为每个broker部署1个或多个slave Topic message queue一个分布式消息队列中间件部署好以后可以给很多个业务提供服务同一个业务也有不同类型的消息要投递这些不同类型的消息以不同的 Topic 名称来区分。所以发送和接收消息前先创建topic针对某个 Topic 发送和接收消息。有了 Topic 以后还需要解决性能问题 。 如果一个Topic 要发送和接收的数据量非常大 需要能支持增加并行处理的机器来提高处理速度这时候一个 Topic 可以根据需求设置一个或多个 Message Queue, Message Queue 类似分区或 Partition 。Topic有了多个 Message Queue 后消息可以并行地向各个Message Queue 发送消费者也可以并行地从多个 Message Queue 读取消息并消费 。 rocketmq集群部署方式 单Master模式 ​ 只有一个 Master节点 ​ 优点配置简单方便部署 ​ 缺点这种方式风险较大一旦Broker重启或者宕机时会导致整个服务不可用不建议线上环境使用 多Master模式 ​ 一个集群无 Slave全是 Master例如 2 个 Master 或者 3 个 Master ​ 优点配置简单单个Master 宕机或重启维护对应用无影响在磁盘配置为RAID10 时即使机器宕机不可恢复情况下由与 RAID10磁盘非常可靠消息也不会丢异步刷盘丢失少量消息同步刷盘一条不丢。性能最高。 ​ 缺点单台机器宕机期间这台机器上未被消费的消息在机器恢复之前不可订阅消息实时性会受到受到影响 多Master多Slave模式异步复制 ​ 每个 Master 配置一个 Slave有多对Master-Slave HA采用异步复制方式主备有短暂消息延迟毫秒级。 ​ 优点即使磁盘损坏消息丢失的非常少且消息实时性不会受影响因为Master 宕机后消费者仍然可以从 Slave消费此过程对应用透明。不需要人工干预。性能同多 Master 模式几乎一样。 ​ 缺点 Master 宕机磁盘损坏情况会丢失少量消息。 多Master多Slave模式同步双写 ​ 每个 Master 配置一个 Slave有多对Master-Slave HA采用同步双写方式主备都写成功向应用返回成功。 ​ 优点数据与服务都无单点 Master宕机情况下消息无延迟服务可用性与数据可用性都非常高 ​ 缺点性能比异步复制模式略低大约低 10%左右发送单个消息的 RT会略高。目前主宕机后备机不能自动切换为主机后续会支持自动切换功能 rocketmq集群部署 rocketmq-operator都是不能很灵活的调整副本数毕竟每个副本对应其唯一的配置的文件不同的broker实例使用的配置文件都是不一样的都存在差异一旦副本变化了就不能很好的和broker 的配置文件内容一 一对应起来。 接下来我们创建一个基于k8s部署单master以及多master部署rocketmq集群并且只需要一个broker配置文件多个broker实例会自动基于该broker配置文件模板自动生成不同broker实例的broker配置文件扩容或者伸缩rocketmq集群 nameserver或者broker副本数的时候不需要理会配置文件仅仅是调整实例的副本即可。 备注该方案不适合有slave节点的部署方式。 环境说明 提供持久存储动态供给功能 [rootk8s-master01 ~]# kubectl get storageclass NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE nfs-client fuseim.pri/ifs Delete Immediate false 8d提供metallb功能 按官网提供的方式修改即可链接https://metallb.universe.tf/ # kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.5/config/manifests/metallb-native.yaml# vim ippool.yaml # cat ippool.yamlapiVersion: metallb.io/v1beta1 kind: IPAddressPool metadata:name: first-poolnamespace: metallb-system spec:addresses:- 192.168.10.100-192.168.100.110# kubectl create -f ippool.yaml# vim l2.yaml # cat l2.yamlapiVersion: metallb.io/v1beta1 kind: L2Advertisement metadata:name: examplenamespace: metallb-system# kubectl create -f l2.yaml提供ingress nginx controller # wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.4.0/deploy/static/provider/cloud/deploy.yaml部署前修改362行,把Local修改为Cluster# kubectl apply -f deploy.yaml# kubectl get ns NAME STATUS AGE ingress-nginx Active 8s# kubectl get pods -n ingress-nginx NAME READY STATUS RESTARTS AGE ingress-nginx-admission-create-r9gqt 0/1 Completed 0 62s ingress-nginx-admission-patch-r24d6 0/1 Completed 0 62s ingress-nginx-controller-7844b9db77-mxrgn 1/1 Running 0 62s# kubectl get svc -n ingress-nginx NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE ingress-nginx-controller LoadBalancer 10.96.21.124 192.168.10.100 80:31844/TCP,443:32294/TCP 49m ingress-nginx-controller-admission ClusterIP 10.109.18.235 none 443/TCP 49m容器镜像仓库 没有本地容器镜像仓库可以使用hub.dockcer.com。 构建rocketmq镜像 rocketmq-namesrv和 rocketmq-broker共用同一个镜像仅仅是启动命令和启动参数不一样后期可灵活的通过调整启动命令和启动参数来实现不同的效果比如通过挂载configMap的方式自定义rocketmq的配置文件而不需要重建rocketmq的镜像。 # vim Dockerfile # cat DockerfileFROM docker.io/library/openjdk:8u102-jdk AS JDKLABEL mailadminkubemsb.comRUN rm -vf /etc/localtime \ ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ echo Asia/Shanghai /etc/timezone \ export LANGzh_CN.UTF-8RUN curl -k https://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.9.4/rocketmq-all-4.9.4-bin-release.zip \-o /tmp/rocketmq-all-4.9.4-bin-release.zip \ unzip /tmp/rocketmq-all-4.9.4-bin-release.zip -d /tmp/ \ mv /tmp/rocketmq-all-4.9.4-bin-release /opt/rocketmq \ rm -rf /tmp/*RUN sed -ir /-Xmx/c JAVA_OPT${JAVA_OPT} /opt/rocketmq/bin/runserver.sh \ sed -ir /-Xmx/c JAVA_OPT${JAVA_OPT} /opt/rocketmq/bin/runbroker.sh## 运行 MQ 应用时候可以通过环境变量设置 jvm 数值如JAVA_OPT-server -Xms2g -Xmx2g -XX:MetaspaceSize128m -XX:MaxMetaspaceSize320mENV ROCKETMQ_HOME/opt/rocketmqWORKDIR $ROCKETMQ_HOME# docker build -t docker.io/nextgomsb/rocketmq:v1 . --no-cache# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nextgomsb/rocketmq v1 ed01df462eb3 31 seconds ago 677MB# docker login Login with your Docker ID to push and pull images from Docker Hub. If you dont have a Docker ID, head over to https://hub.docker.com to create one. Username: nextgomsb 替换为自己仓库的用户名 Password: 替换为自己仓库的用户名 WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded# docker push docker.io/nextgomsb/rocketmq:v1获取rocketmq-dashboard镜像 rocketmq-dashboard是一个可视化的rocketmq集群运维监控工具。 rocketmq部署描述文件编写 rocketmq-namesrv部署描述文件 # vim rocketmq-namesrv.yaml # cat rocketmq-namesrv.yaml--- apiVersion: v1 kind: Namespace metadata:name: rocketmq--- apiVersion: apps/v1 kind: StatefulSet metadata:name: rocketmq-namesrvnamespace: rocketmq spec:serviceName: rocketmq-namesrvreplicas: 2selector:matchLabels:app: rocketmq-namesrvtemplate:metadata:labels:app: rocketmq-namesrvspec:containers:- name: rocketmq-namesrv-containerimage: docker.io/nextgomsb/rocketmq:v1imagePullPolicy: IfNotPresentcommand:- bin/mqnamesrvenv:- name: JAVA_OPTvalue: -server -Xms2g -Xmx2g -XX:MetaspaceSize256m -XX:MaxMetaspaceSize512m --- apiVersion: v1 kind: Service metadata:name: rocketmq-namesrvnamespace: rocketmqlabels:app: rocketmq-namesrv spec:ports:- port: 9876protocol: TCPtargetPort: 9876selector:app: rocketmq-namesrvtype: ClusterIP# dig -t a rocketmq-namesrv.rocketmq.svc.cluster.local. 10.96.0.10rocketmq-broker部署描述文件 # vim rocketmq-broker.yaml # cat rocketmq-broker.yaml--- apiVersion: apps/v1 kind: StatefulSet metadata:name: rocketmq-brokernamespace: rocketmq spec:serviceName: rocketmq-brokerreplicas: 2selector:matchLabels:app: rocketmq-brokertemplate:metadata:labels:app: rocketmq-brokerspec:containers:- name: rocketmq-brokerimage: nextgomsb/rocketmq:v1imagePullPolicy: IfNotPresentcommand:- bin/mqbroker- --namesrvAddrrocketmq-namesrv.rocketmq.svc.cluster.local.:9876env:- name: JAVA_OPTvalue: -server -Xms1g -Xmx1gdnsPolicy: ClusterFirstrestartPolicy: AlwaysschedulerName: default-schedulerterminationGracePeriodSeconds: 30updateStrategy:rollingUpdate:partition: 0type: RollingUpdaterocketmq-dashboard部署描述文件 部署一个能实现运维监控rocketmq的可视化web应用。 部署rocketmq-dashboard应用时候重点关注部署文件里面的env环境变量参数JAVA_OPTS该env环境变量JAVA_OPTS决定了应用是否能成功连接到 rocketmq-namesrv 服务。 # vim rocketmq-dashboard.yaml # cat rocketmq-dashboard.yaml--- apiVersion: apps/v1 kind: Deployment metadata:name: rocketmq-dashboardnamespace: rocketmqlabels:app: rocketmq-dashboard spec:replicas: 1selector:matchLabels:app: rocketmq-dashboardtemplate:metadata:labels:app: rocketmq-dashboardspec:containers:- name: rocketmq-dashboardimage: apacherocketmq/rocketmq-dashboard:latestimagePullPolicy: IfNotPresentenv:- name: JAVA_OPTSvalue: -Drocketmq.namesrv.addrrocketmq-namesrv.rocketmq.svc.cluster.local.:9876dnsPolicy: ClusterFirstrestartPolicy: AlwaysschedulerName: default-schedulersecurityContext: {}terminationGracePeriodSeconds: 30--- apiVersion: v1 kind: Service metadata:name: rocketmq-dashboardnamespace: rocketmqlabels:app: rocketmq-dashboard spec:ports:- port: 8080protocol: TCPtargetPort: 8080selector:app: rocketmq-dashboardtype: ClusterIP执行部署描述文件 rocketmq-namesrv部署 # kubectl create -f rocketmq-namesrv.yaml# kubectl get pods -n rocketmq NAME READY STATUS RESTARTS AGE ... rocketmq-namesrv-0 1/1 Running 0 14m rocketmq-namesrv-1 1/1 Running 0 13mrocketmq-broker部署 # kubectl create -f rocketmq-broker.yaml# kubectl get pods -n rocketmq NAME READY STATUS RESTARTS AGE rocketmq-broker-0 1/1 Running 0 4m16s rocketmq-broker-1 1/1 Running 0 4m15srocketmq-dashboard部署 # kubectl create -f rocketmq-dashboard.yaml# kubectl get pods -n rocketmq NAME READY STATUS RESTARTS AGE rocketmq-dashboard-f4ccdf496-sv984 1/1 Running 0 73s调整副本 调整rocket-namesrv副本数kubectl scale sts rocketmq-namesrv --replicas3 -n rocketmq# kubectl get pods -n rocketmq NAME READY STATUS RESTARTS AGE rocketmq-namesrv-0 1/1 Running 0 15m rocketmq-namesrv-1 1/1 Running 0 14m rocketmq-namesrv-2 1/1 Running 0 4s调整rocket-broker副本数,集群节点内存要大于副本数中内存。 kubectl scale sts rocketmq-broker --replicas3 -n rocketmq创建ingress资源对象实现域名访问dashboard # vim rocketmq-dashboard-ingress.yaml # cat rocketmq-dashboard-ingress.yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata:name: ingress-rocketmq-dashboard #自定义ingress名称namespace: rocketmqannotations:ingressclass.kubernetes.io/is-default-class: truekubernetes.io/ingress.class: nginx spec:rules:- host: rocketmq-dashboard.kubemsb.com # 自定义域名http:paths:- pathType: Prefixpath: /backend:service:name: rocketmq-dashboard # 对应上面创建的service名称port:number: 8080# kubectl create -f rocketmq-dashboard-ingress.yaml# kubectl get ingress -n rocketmq NAME CLASS HOSTS ADDRESS PORTS AGE ingress-rocketmq-dashboard none rocketmq-dashboard.kubemsb.com 80 31s
http://www.hkea.cn/news/14478063/

相关文章:

  • 宁波建网站方式做网站做哪个
  • 营销型网站建设公司哪家好哪个好微信公众平台网站建设
  • 河南高端网站建设公司wordpress主题php破解
  • 网站建设方案可行性权威行业网站建设公司
  • 寮步营销型网站建设怎么可以自己制作网站
  • 哪些网站可以做直播个人网页设计html代码免费
  • 服务平台名称大全网络seo培训
  • 网站没有经过我司审核通过白名单上海网站制作软件
  • 永康哪有做网站的公司杭州建设主管部门的网站
  • 网站源码下载免费源码旅游网站的设计的前提
  • 网站建设的会计科目现在做网站用什么
  • 北海 网站建设 公司wordpress 友情链接小工具
  • 如何建立淘宝客网站网站建设分哪些类别
  • 织梦 帝国 学校网站wordpress 表单附件
  • 网站ping值wordpress怎么迁移
  • 模板网站和定制网站河北建设厅查询网站
  • 湖南做门户网站的公司温州市建设工程管理网站
  • 哈尔滨网站建设把wordpress集成进
  • 雄安网站建设400多少钱北京网站改版费用
  • 网站正在建设 敬请期待台州椒江网站建设
  • 网站哪些是动态的邹城建设银行网站
  • 网站建设分工表上海线上引流推广
  • 网站建设衤金手指花总十五做外贸用什么软件找客户
  • 域名访问过程会不会影响网站访问四川仁厚建设集团有限公司
  • 设计素材网站线上网页设计报告2000字
  • 自己做网站费用北京大龙建设集团有限公司网站首页
  • 优化推广网站seo工业设计的就业前景和就业方向
  • 宁夏吴忠网站建设深圳互联网企业有哪些
  • 沈阳高端网站设计有学给宝宝做衣服的网站吗
  • 武进网站建设代理商html网页制作代码大全免费