pitt1007 2019-11-22 13:08 采纳率: 0%
浏览 662

一个请求是怎么样从DNS到nginx ,然后从nginx访问到dubbo服务的?麻烦说说访问流程

架构:

DNS

nginx+keepalived(反向代理、web层负载均衡);

dubbo+zookeeper(服务端,服务注册和负载均衡);

缓层:redis3.0集群

数据库分库分表中间件:sharding-JDBC

数据库:mysql

  • 写回答

1条回答 默认 最新

  • 猿码士 2024-01-18 11:28
    关注

    当你发送一个请求到一个域名时,这个请求的旅程会经历几个关键步骤,从DNS查询开始,到Nginx作为反向代理,再到最终的Dubbo服务。以下是这个流程的详细解释:

    DNS查询:

    当你在浏览器中输入一个域名(例如 example.com)时,你的计算机首先会查询DNS服务器,以获取该域名的IP地址。
    DNS服务器会将域名的IP地址映射到相应的服务器。

    请求到达Nginx:

    一旦获得了IP地址,你的请求将直接发送到该地址。假设Nginx是负责该域名的Web服务器。
    Nginx是一个高性能的HTTP和反向代理服务器。当Nginx收到请求时,它会根据配置来决定如何处理这个请求。

    Nginx配置:

    Nginx的配置文件定义了如何处理不同类型的请求。例如,你可能有一个配置规则,将所有以.jpg或.png结尾的请求直接发送到文件,而其他所有请求可能都会被转发到后端的应用服务器。

    请求转发:

    如果Nginx决定将请求转发到后端的应用服务器,它会根据配置中的地址或端口号将请求转发给相应的服务器。

    Tomcat和Dubbo:

    如果应用服务器是Tomcat,它可能会托管一个或多个Dubbo服务。Dubbo是一个高性能、轻量级的Java RPC框架。
    当Tomcat收到来自Nginx的请求时,它会根据请求的URL找到相应的Dubbo服务并执行它。Dubbo服务会处理请求并返回响应给Tomcat。

    响应返回:

    Tomcat将Dubbo服务的响应返回给Nginx。
    Nginx再将响应返回给原始的客户端(可能是浏览器或其他客户端)。

    返回客户端:

    客户端收到响应后,可以显示网页内容或进行其他操作。

    在整个过程中,Maven主要在开发阶段用于项目管理和依赖管理。它帮助开发者构建、测试和部署他们的应用程序。但在实际的生产环境中,Maven可能不会直接参与请求的处理流程。

    评论

报告相同问题?

悬赏问题

  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛