关于网站开发的期刊,一个网站数据库,做网页学什么语言,宁波建网站推荐#x1f413;分布式
分布式系统是由多个独立的计算机节点组成的系统#xff0c;这些节点通过网络协作完成任务。每个节点都有自己的独立计算能力和存储能力#xff0c;可以独立运行。分布式系统的目标是提高系统的可靠性、可扩展性和性能。 分布式服务包含的技术和理论
负…分布式
分布式系统是由多个独立的计算机节点组成的系统这些节点通过网络协作完成任务。每个节点都有自己的独立计算能力和存储能力可以独立运行。分布式系统的目标是提高系统的可靠性、可扩展性和性能。 分布式服务包含的技术和理论
负载均衡
Nginx高性能、高并发的web服务器功能包括负载均衡、反向代理、静态内容缓存、访问控制工作在应用层
LVSLinux virtual server基于集群技术和Linux操作系统实现一个高性能、高可用的服务器工作在网络层
webserver
JavaTomcatApacheJboss
service
SOA、微服务、spring bootdjango
容器
dockerkubernetes
cache
memcache、redis等
协调中心
zookeeper、etcd等
zookeeper使用了Paxos协议Paxos是强一致性高可用的去中心化分布式。zookeeper的使用场景非常广泛之后细讲。
rpc框架
grpc、dubbo、brpc
dubbo是阿里开源的Java语言开发的高性能RPC框架在阿里系的诸多架构中都使用了dubbo spring boot
消息队列
kafka、rabbitMQ、rocketMQ、QSP
消息队列的应用场景异步处理、应用解耦、流量削锋和消息通讯
实时数据平台
storm、akka
离线数据平台
hadoop、spark
db
mysql、oracle、MongoDB、HBase
搜索
elasticsearch、solr
日志
rsyslog、elk、flume
集群
集群是由多个计算机组成的一个单一的系统这些计算机通过网络连接在一起共享资源和任务。集群中的每个计算机都有相同的硬件和软件配置可以同时执行同样的任务。集群的目标是提高系统的可靠性、可扩展性和性能。
集群的特征
高可靠性(HA)
利用集群管理软件当主服务器故障时备份服务器能够自动接管主服务器的工作并及时切换过去以实现对用户的不间断服务。 相当于古代皇帝有一个太子皇上如果驾崩了太子可以继续完成皇上应该做的工作 高性能计算(HP)
即充分利用集群中的每一台计算机的资源实现复杂运算的并行处理通常用于科学计算领域比如基因分析、化学分析等。 相当于一群蚂蚁一起工作干一件事情利用好自身的最大资源 负载均衡(LB)
即把负载压力根据某种算法合理分配到集群中的每一台计算机上以减轻主服务器的压力降低对主服务器的硬件和软件要求。
HTTP重定向负载均衡
当用户发来请求的时候Web服务器通过修改HTTP响应头中的Location标记来返回一个新的url然后浏览器再继续请求这个新url实际上就是页面重定向。通过重定向来达到“负载均衡”的目标。例如我们在下载JAVA源码包的时候点击下载链接时为了解决不同国家和地域下载速度的问题它会返回一个离我们近的下载地址。重定向的HTTP返回码是302。优点比较简单。缺点浏览器需要两次请求服务器才能完成一次访问性能较差。重定向服务自身的处理能力有可能成为瓶颈整个集群的伸缩性国模有限使用HTTP302响应码重定向有可能使搜索引擎判断为SEO作弊降低搜索排名。
DNS域名解析负载均衡
DNSDomain Name System负责域名解析的服务域名url实际上是服务器的别名实际映射是一个IP地址解析过程就是DNS完成域名到IP的映射。而一个域名是可以配置成对应多个IP的。因此DNS也就可以作为负载均衡服务。事实上大型网站总是部分使用DNS域名解析利用域名解析作为第一级负载均衡手段即域名解析得到的一组服务器并不是实际提供Web服务的物理服务器而是同样提供负载均衡服务的内部服务器这组内部负载均衡服务器再进行负载均衡将请求分发到真是的Web服务器上。优点将负载均衡的工作转交给DNS省掉了网站管理维护负载均衡服务器的麻烦同时许多DNS还支持基于地理位置的域名解析即会将域名解析成举例用户地理最近的一个服务器地址这样可以加快用户访问速度改善性能。缺点不能自由定义规则而且变更被映射的IP或者机器故障时很麻烦还存在DNS生效延迟的问题。而且DNS负载均衡的控制权在域名服务商那里网站无法对其做更多改善和更强大的管理。
反向代理负载均衡
反向代理服务可以缓存资源以改善网站性能。实际上在部署位置上反向代理服务器处于Web服务器前面这样才可能缓存Web相应加速访问这个位置也正好是负载均衡服务器的位置所以大多数反向代理服务器同时提供负载均衡的功能管理一组Web服务器将请求根据负载均衡算法转发到不同的Web服务器上。Web服务器处理完成的响应也需要通过反向代理服务器返回给用户。由于web服务器不直接对外提供访问因此Web服务器不需要使用外部ip地址而反向代理服务器则需要配置双网卡和内部外部两套IP地址。优点和反向代理服务器功能集成在一起部署简单。缺点反向代理服务器是所有请求和响应的中转站其性能可能会成为瓶颈。
总结 举一个例子假设有一个在线商店它包含订单处理、库存管理和支付处理等多个功能。在传统的单体应用程序中所有这些功能都由一个应用程序处理。但在微服务架构中我们可以将每个功能拆分成一个独立的服务例如订单服务、库存服务和支付服务。这些服务可以独立开发、测试、部署和扩展同时通过网络协议进行通信和协作。这样当其中一个服务出现问题时我们只需要处理该服务而不需要影响整个应用程序。这就是微服务架构的优点之一。