hadoop 如何实现大数据
更新时间:2022-03-08 13:03
最满意答案
一种情况,本地有多个 web 服务,有 Python、php、java 编写的,都想监听 80 端口,这个时候就必须有一个负责转发的服务了。 如果本机确定只跑这一个服务,但是 uwsgi 和 gevent 对于静态资源处理的并不是很好,一是性能问题,二是各种 HTTP 请求缓存头,处理的也没有 Nginx 完善。 然后还有一些安全问题,Nginx 作为专业服务器,暴露在公网相对比较安全(虽然有著名的心血漏洞),uwsgi 和 gevent 的话,漏洞恐怕只比 Nginx 多而不是少。 再来就是支持的协议,uwsgi 和 gunicon 早期是不支持 https 的,只能提供 http 给浏览器访问。虽然现在这两者都支持了,但是以后的 spdy 和http2,恐怕也是 nginx 跟进更快一些。 还有一些运维优势,比如服务器被人 CC,这是一种非常常见的情况,nginx 可以比较方便的把一些 IP 加入黑名单,直接改配置文件就好了。要是 uwsgi 或者 gunicorn,恐怕还要修改自己应用的代码,把 IP 过滤写进去。 题主说只考虑单台机器的情况,但是如果不考虑的话,那一个 nginx 做负载均衡那就几乎是必须了。
其他回答
同问。。。
相关问答
更多-
用了mongodb 还需要使用redis吗[2022-10-02]
MongoDB不多说,不是一个类型的东西,Redis相对Memcached来说功能和 特性上的优势已经很明显了。而对于性能,Redis作者的说法是平均到单个核上的性能,在单条数据不大的情况下Redis更好。为什么这么说呢,理由就是Redis是 单线程运行的。 因为是单线程运行,所以和Memcached的 多线程相比,整体性能肯定会偏低。 因为是单线程运行,所以IO是串行化的,网络IO和 内存IO,因此当单条数据太大时,由于需要等待一个 命令的所有IO完成才能进行后续的命令,所以性能会受影响。 -
用了mongodb 还需要使用redis吗[2022-07-14]
相比memcached: 1、redis具有持久化机制,可以定期将内存中的数据持久化到硬盘上。 2、redis具备binlog功能,可以将所有操作写入日志,当redis出现故障,可依照binlog进行数据恢复。 3、redis支持virtual memory,可以限定内存使用大小,当数据超过阈值,则通过类似LRU的算法把内存中的最不常用数据保存到硬盘的页面文件中。 4、redis原生支持的数据类型更多,使用的想象空间更大。 5、前面有位朋友所提及的一致性哈希,用在redis的sharding中,一般是在负载 ... -
使用了Gunicorn或者uWSGI,为什么还需要Nginx[2022-01-07]
一种情况,本地有多个 web 服务,有 Python、php、java 编写的,都想监听 80 端口,这个时候就必须有一个负责转发的服务了。 如果本机确定只跑这一个服务,但是 uwsgi 和 gevent 对于静态资源处理的并不是很好,一是性能问题,二是各种 HTTP 请求缓存头,处理的也没有 Nginx 完善。 然后还有一些安全问题,Nginx 作为专业服务器,暴露在公网相对比较安全(虽然有著名的心血漏洞),uwsgi 和 gevent 的话,漏洞恐怕只比 Nginx 多而不是少。 再来就是支持的协议,u ... -
使用了Gunicorn或者uWSGI,为什么还需要Nginx[2022-07-30]
一种情况,本地有多个 web 服务,有 Python、php、java 编写的,都想监听 80 端口,这个时候就必须有一个负责转发的服务了。 如果本机确定只跑这一个服务,但是 uwsgi 和 gevent 对于静态资源处理的并不是很好,一是性能问题,二是各种 HTTP 请求缓存头,处理的也没有 Nginx 完善。 然后还有一些安全问题,Nginx 作为专业服务器,暴露在公网相对比较安全(虽然有著名的心血漏洞),uwsgi 和 gevent 的话,漏洞恐怕只比 Nginx 多而不是少。 再来就是支持的协议,u ... -
使用了Gunicorn或者uWSGI,为什么还需要Nginx[2023-06-28]
一种情况,本地有多个 web 服务,有 Python、php、java 编写的,都想监听 80 端口,这个时候就必须有一个负责转发的服务了。 如果本机确定只跑这一个服务,但是 uwsgi 和 gevent 对于静态资源处理的并不是很好,一是性能问题,二是各种 HTTP 请求缓存头,处理的也没有 Nginx 完善。 然后还有一些安全问题,Nginx 作为专业服务器,暴露在公网相对比较安全(虽然有著名的心血漏洞),uwsgi 和 gevent 的话,漏洞恐怕只比 Nginx 多而不是少。 再来就是支持的协议,u ... -
使用了Gunicorn或者uWSGI,为什么还需要Nginx[2022-09-06]
一种情况,本地有多个 web 服务,有 Python、php、java 编写的,都想监听 80 端口,这个时候就必须有一个负责转发的服务了。 如果本机确定只跑这一个服务,但是 uwsgi 和 gevent 对于静态资源处理的并不是很好,一是性能问题,二是各种 HTTP 请求缓存头,处理的也没有 Nginx 完善。 然后还有一些安全问题,Nginx 作为专业服务器,暴露在公网相对比较安全(虽然有著名的心血漏洞),uwsgi 和 gevent 的话,漏洞恐怕只比 Nginx 多而不是少。 再来就是支持的协议,u ... -
使用了Gunicorn或者uWSGI,为什么还需要Nginx[2024-03-02]
一种情况,本地有多个 web 服务,有 Python、php、java 编写的,都想监听 80 端口,这个时候就必须有一个负责转发的服务了。 如果本机确定只跑这一个服务,但是 uwsgi 和 gevent 对于静态资源处理的并不是很好,一是性能问题,二是各种 HTTP 请求缓存头,处理的也没有 Nginx 完善。 然后还有一些安全问题,Nginx 作为专业服务器,暴露在公网相对比较安全(虽然有著名的心血漏洞),uwsgi 和 gevent 的话,漏洞恐怕只比 Nginx 多而不是少。 再来就是支持的协议,u ... -
hadoop还需要nginx吗[2022-02-28]
当然是Nginx+Node比较好,除了Nginx来处理静态文件请求和记录web访问日志这种显而易见的好处不说。 单独用Node你如何处理单个IP上的多个Virtual Host,Node的确有办法,你可以搜索一下看看,但是放到Nginx这里根本就不是个事儿。 -
用了mongodb 还需要使用redis吗[2022-11-04]
MongoDB不多说,不是一个类型的东西,Redis相对Memcached来说功能和特性上的优势已经很明显了。而对于性能,Redis作者的说法是平均到单个核上的性能,在单条数据不大的情况下Redis更好。为什么这么说呢,理由就是Redis是单线程运行的。 因为是单线程运行,所以和Memcached的多线程相比,整体性能肯定会偏低。 因为是单线程运行,所以IO是串行化的,网络IO和内存IO,因此当单条数据太大时,由于需要等待一个命令的所有IO完成才能进行后续的命令,所以性能会受影响。 -
你在混淆东西,所以让我澄清一下。 Python通过Web服务器发布应用程序的标准方式是WSGI - 您可以将其视为Python的原生CGI。 uWSGI是一个WSGI兼容服务器,它使用uwsgi协议与其他uWSGI实例或上游服务器进行通信。 通常上游服务器是带有HttpUwsgiModule的 nginx ,允许它使用uwsgi协议进行通信 - 使用nginx,您可以为应用服务器提供额外的保护层,实现负载平衡并提供静态文件。 在大多数情况下, 您应该使用Nginx + UWSGI 。 为了回答你的问题,uW ...