首页
精选文章DNS查看全文DNS是域名服务系统。TCP/IP协议中的IP层都是通过IP地址进行通信的,但是IP地址是一串数字,不利于记忆,为了更加便于通信,需要名字服务,可以通过容易记忆的命名来替代IP地址,通信过程中再通过名字服务将名字更换为IP地址。 IP的名字服务就是域名。 域名一般通过三级结构构成,A.B.C,例如www.aigetting.com,其中com是顶级域名,aigetting.com是权威域名。 DNS系统本质就是通过域名查询IP的地址的系统,DNS提供了一个分层的命名空间,企业和个人可以将名字注册到DNS系统。通信的时候可以通过这些名字获取实际提供服务的服务器的IP地址。 DNS也是一个分布式的数据库,可以可靠的为全球提供服务。 DNS服务器 域名一般是多层结构,按照“.”作为分隔符可以将域名切分为多个层次,不同层次对应不同的命名空间。 例如www.aigetting.com,其中com是顶级域名,aigetting.com是二级域名,www.aigetting.com是三级域名。 DNS解析的过程实现是首先请求DNS解析器,例如请求www.aigetting.com,DNS解析器会首先查询是否已经缓存了该域名,如果有缓存则直接返回。 如果DNS解析器没有缓存该数据,则会请求根域名服务器,根域名服务器会根据访问的顶级域名返回对应的顶级域名服务器,比如返回处理com顶级域名的顶级域名服务器,顶级域名一般通过组织(例如.com、.edu 或 .org)和国家(例如.cn、.hk、.us等)进行区分。 在路由到顶级域名服务器之后,会讲DNS请求转发到对应的权威域名服务器。权威域名服务器会返回对应的IP地址信息。 根据职责可以把DNS服务器分为根域名服务器…归并排序查看全文归并排序也是也是基于分治思想是想的算法。归并排序分为两个步骤,首先是对数据进行分区,将数据分为两个部分,两部分分别进行排序,之后再将两个已经排好序的数据集进行合并,归并排序的命名也由此而来。分治之后的数据如何排序呢,依然是递归的采用归并排序的方式,直到数据集的规模变为1。 归并排序分为两个部分 拆分 归并排序的拆分是典型的递归思想,如果排序的数据集多于1个元素,则将数据集分为两个部分,之后将两个部分递归的进行该操作。 归并 归并是将两个有序的集合合并的过程。 合并的过程如下: 两个集合分别声明初始指针指向集合的头部,比较指针指向的值,较小的值放入结果数组,同时较小值集合的指针往前移动一位,当一个集合提前遍历结束之后,另外一个集合剩余的元素直接放入结果数组的尾部。 C++代码如下:RPC查看全文RPC是远程调用协议的简称,在分布式系统下,RPC是一个基础组件。不同于传统的Http调用或者SOA调用,RPC通过本地的stub,虽然调用远程的服务端,但是从调用方式来看,更像本地方法调用。RPC框架包括的组件如下: RPC本质上仍然是远程调用,所以其包括socket通信组件,socket通信一般采用epoll机制实现,socket传输的是将参数序列化之后的数据。 PRC分为client端和server端,server端处理用户发起的请求,client作为请求发起端。 Stub作为RPC调用的重要组成部分,是RPC调用可以用类似本地方法调用的关键,比如客户端Stub实现了Client调用的接口,接口的实现就是socket调用远程服务端。 RPC调用的地址是通过注册中心寻址的,服务端启动的时候把服务提供的地址,IP+port存储到配置中心,客户端调用之前,会首先从配置中心获取服务端地址列表,然后通过负载均衡机制选举其中一个地址进行调用。 注册中心 RPC服务的注册中心主要提供名字服务,类似于DNS系统,在注册中心注册服务之后,客户端可以通过命名获取这些服务的地址信息,进行通信。 所以注册中心既需要和服务端通信,也需要和客户端通信,服务端将自己的地址信息注册到地方的服务名字上(服务注册),注册中心进行进行相关信息的存储,客户端一般定期拉取服务的地址列表(服务发现)。 除了服务注册以及服务发现之外,注册中心一般还提供服务探活,服务剔除,服务权重等功能。 注册中心常用的实现方式有zookeeper,eureka、consul、Nacos等。 负载均衡 RPC框架的负载均衡机制一般是轮询、Hash、随机以及权重… |
热门分类开源Golang消息队列JavaJavascriptLinuxMysqlNLPPHP事务内存管理分布式理论分类存储常用存储开源软件操作系统画图网络编程数据库算法虚拟化前端存储理论常用算法微服务数据结构算法应用计算机原理中间件共识算法分布式分治动态规划容器并发排序架构组件绘图工具网络协议编程语言理论算法思想树缓存架构C++字符串算法工程思想搜索
算法题库
精选内容 |