首页 > 系统相关 >confd+etcd+nginx 服务发现

confd+etcd+nginx 服务发现

时间:2024-07-13 12:51:52浏览次数:10  
标签:https server nginx etcd key confd

 confd+etcd+nginx 服务发现

https://learnku.com/articles/36229

 

 https://www.chenshaowen.com/blog/service-discovery-etcd-confd-nginx.html

在进行应用部署时,服务运行起来后,通过接口向 Etcd 注册相关 key-value 信息,Confd 检测到 Etcd 的 key-value 变化后,立即触发程序通过模板形成新的 Nginx 配置文件。

Nginx 先做离线语法测试,如果没问题就覆盖原配置,进而 reload,测试不通过就不覆盖原配置,整个过程安全可控。

 

 

https://github.com/fanqingsong/docker-compose_confd_etcd_nginx

confd - docker-compose - etcd - nginx

Abstract

This practice follows confd - Quickstart Guide - Advanced Example.

docker-compose manages the following services:

  • etcd-server: key-value store, backend for confd
  • confd-nginx: nginx server managed by confd acording to the values inserted to etcd-server. Requests to localhost are routed to the python app
  • etcd-curl: inserts values to etcd-server via curl
  • py-app: simple python flask server, target of nginx proxy

etcd

https://etcd.io/

A distributed, reliable key-value store for the most critical data of a distributed system

What is etcd?

etcd is a strongly consistent, distributed key-value store that provides a reliable way to store data that needs to be accessed by a distributed system or cluster of machines. It gracefully handles leader elections during network partitions and can tolerate machine failure, even in the leader node. Learn more

https://learn.lianglianglee.com/%e4%b8%93%e6%a0%8f/etcd%e5%ae%9e%e6%88%98%e8%af%be/08%20Watch%ef%bc%9a%e5%a6%82%e4%bd%95%e9%ab%98%e6%95%88%e8%8e%b7%e5%8f%96%e6%95%b0%e6%8d%ae%e5%8f%98%e5%8c%96%e9%80%9a%e7%9f%a5%ef%bc%9f.md

第一,client获取事件的机制,etcd是使用轮询模式还是推送模式呢?两者各有什么优缺点?

第二,事件是如何存储的? 会保留多久?watch命令中的版本号具有什么作用?

第三,当client和server端出现短暂网络波动等异常因素后,导致事件堆积时,server端会丢弃事件吗?若你监听的历史版本号server端不存在了,你的代码该如何处理?

第四,如果你创建了上万个watcher监听key变化,当server端收到一个写请求后,etcd是如何根据变化的key快速找到监听它的watcher呢?

接下来我就和你分别详细聊聊etcd Watch特性是如何解决这四大问题的。搞懂这四个问题,你就明白etcd甚至各类分布式存储Watch特性的核心实现原理了。

轮询 vs 流式推送

confd

https://github.com/kelseyhightower/confd

confd is a lightweight configuration management tool focused on:

https://ops-doc.readthedocs.io/zh/latest/Linux_Notes/tools/confd-usage.html

使用来自 etcd 或 consul 的模板和数据管理本地应用程序配置文件。

confd是一个轻量级的配置管理工具,专注于:

https://zhuanlan.zhihu.com/p/99414682

confd用来动态更新配置文件,架构如下:

confd作用流程:

 

https://www.cnblogs.com/Anker/p/6112022.html

 

 

标签:https,server,nginx,etcd,key,confd
From: https://www.cnblogs.com/lightsong/p/18299953

相关文章

  • Nginx的全局配置文件说明
    Nginx的全局配置文件说明Nginx配置文件的主要配置块可以分为三个部分:全局配置块(events和http块),events块和http块。这三个部分共同定义了Nginx服务器的整体行为和处理HTTP请求的方式。全局配置块:包含了影响Nginx服务器整体行为的指令,如进程数、工作目录、错误日志级别、进......
  • Nginx VS Traefik Comparison
    NginxVSTraefikComparisonhttps://reverseproxy.com/docs/comparison/nginx-vs-traefik/#:~:text=In%20summary%2C%20Nginx%20might%20be%20better%20for%20more,of%20configuration%20and%20automatic%20service%20discovery%20are%20needed.UseasReverseProxyorL......
  • [SUCTF 2019]Pythonginx 1
    目录题目代码分析urlsplit()nginx文件位置解题题目代码分析fromflaskimportFlask,Blueprint,request,Response,escape,render_templatefromurllib.parseimporturlsplit,urlunsplit,unquotefromurllibimportparseimporturllib.requestapp=......
  • Nginx与负载均衡不得不说的秘密
    Nginx是一款高性能的HTTP和反向代理服务器,它以事件驱动和异步非阻塞的方式运行,能够处理数以万计的并发连接,并且占用的内存资源相对较少。Nginx也常用于负载均衡、缓存、静态文件服务等场景。Nginx的特点:高并发:Nginx能够支持数以万计的并发连接,适合高流量网站。低内存占......
  • “QNAP Nginx-Proxy-Manager 安装指引”
    大家好,这次推荐的应用是NginxProxyManager一个反向代理管理系统,它基于Nginx并具有漂亮干净的WebUI。以下是关于NginxProxyManager的一些特点和使用信息:特点:-提供美观且安全的管理界面,基于Tabler构建。-无需了解Nginx知识,即可轻松创建转发域、重定向、流和......
  • nginx常见命令
    启动nginx`./nginx`关闭nginx`nginx-sstop``nginx-squit`查看相应进程`psaux|grepnginx`关闭相应进程`psaux|grepnginx`找出进程id(pid)后`kill-sQUIT`或者直接使用killall命令终止所有nginx相关进程:`killallnginx`关......
  • Nginx部署vue项目到本地windows
    部署1.将build生成的dist目录复制到nginx下的html目录中。 2.修改ningx里的ningx.conf文件,(解决404的那段代码可以不加)3.重启nginx,浏览器访问“ http://localhost:8080/ ”,即可。4.第二种:因为nginx可能会部署多个项目,针对不同项目增加配置是一种很正常的操作。(需要新增一......
  • nginx(engine x)
     nginx是什么web服务器软件      web软件(支持静态httpserver) 负载均衡loadbalance解决多量并发时网站处理能力(中间件reverseproxy反向代理服务器(有缓存cache)站在企业方)跟redisx像 用户先在proxy访问有就直接用没有就去web找到以后存到proxy中下次用户直......
  • Nginx——一个域名下部署多个Vue项目
    前言当前生成环境已经有一个正常的Vue项目,现在需要将大屏项目也部署到同一个域名下,搜索了下类型的问题,感觉问的还挺多的,所以这里记录下操作步骤;如何在不动第一个项目的情况下来部署第二个Vue项目;内容前端配置publicPath修改vue.config.js下的publicPath参数publicPath:pr......
  • 小谈nginx
    Nginx查看并发方案一:Web页面查看 1:查看安装的nginx启用了--with-http_stub_status_module模块   nginx-V2:按照下图配置 vim/etc/nginx/nginx.conf server{ stub_statuson; 3:保存并从新载入nginx配置文件   nginx-t     nginx-sreload4:......