微服务架构详解(一):微服务技术选型

这篇具有很好参考价值的文章主要介绍了微服务架构详解(一):微服务技术选型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.微服务简介    

2.微服务技术选型

3.微服务核心组件

3.1.注册中心

3.1.1.注册中心对比

3.2.服务网关

3.2.1.主流API网关对比

3.3.分布式配置中心

3.4.服务容错(服务熔断)

3.5.负载均衡

3.5.1.负载均衡有好几种实现策略,

3.5.2.负载均衡分类

3.5.3.微服务实现负载均衡的三种架构模式

3.6.其它

3.6.1.监控与日志

3.6.2.分布式数据存储

4.微服务架构有哪些

5.常用微服务架构

5.1.SpringCloud与SpringCloud Alibaba的关系

5.2.版本说明

5.2.1.组件版本关系​编辑

5.2.2.毕业版本依赖关系(推荐使用)​编辑

5.3.Spring Cloud&Dubbo系和阿里系组件对比

6.Spring Cloud Alibaba

6.1.主要功能

6.2.阿里开源组件

6.3.阿里商业化组件 

7.Spring Cloud各组件介绍

8.SpringCloud与SpringCloud Alibaba抉择

8.1.为什么使用SpringCloud Alibaba

8.2.SpringCloud的几大痛点

8.3.SpringCloud Alibaba的优势:

8.4.结合SpringCloud Alibaba最终的技术搭配方案

参考资料


1.微服务简介    

        微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦,从而降低系统的耦合性,并提供更加灵活的服务支持。

2.微服务技术选型

微服务架构,java,服务器,网络,微服务

(仅列举个人认为常用的,根据架构层级排序)

  • 区域内容分发:CDN
  • 网络负载均衡:lvs
  • 网关负载均衡、反向代理:nginx+lua、Kong、Spring Cloud Zuul、Spring Cloud Gateway
  • 服务网关:zuul,kong,springcloud gateway
  • 熔断、降级、限流:Hystrix,Sentinel
  • 服务注册与发现:eureka,nacos,consul,zookeeper
  • 服务配置:nacos,springcloud config,consul
  • 服务负载均衡:ribbon,Load Balancer
  • 组件通信:feign,RestTemplate,Dubbo RPC,OpenFeign
  • 消息队列:RabbitMQ、Kafka、ActiveMQ、RocketMQ
  • 链路追踪:zipkin,Skywalking
  • 服务部署:docker,kubernetes,jenkins
  • 服务监控:Metrics+ELK,SpringCloud Admin
  • 分布式日志:ELK
  • 分布式存储:fastDFS、OSS
  • 分布式事务:seata
  • 分布式任务调度:SchedulerX,xxl-job
  • 短信服务:SMS
  • 邮件服务:mail

3.微服务核心组件

  • 注册中心
    • 服务注册
    • 服务发现
  • 服务网关
    • 安全认证和授权
    • 路由管理
    • 协议转换
    • 负载限流
  • 服务熔断
    • ​​​​​​​监控
    • 断路器状态管理
    • 故障恢复
    • 限流
  • 分布式配置中心
    • ​​​​​​​集中化配置管理
    • 配置信息动态刷新
    • 配置信息版本控制
    • 配置信息安全管理
    • 配置信息监控
  • ​​​​​​​负载均衡
  • 服务调用

微服务架构,java,服务器,网络,微服务

3.1.注册中心

        在微服务架构里主要起到了协调者的一个作用。

        关系调用说明: 服务生产者启动时,向服务注册中心注册自己提供的服务; 服务消费者启动时,在服务注册中心订阅自己所需要的服务; 消费者从提供者中调用服务;

注册中心一般包含如下几个功能:

服务发现:
        服务注册/反注册:保存服务提供者和服务调用者的信息
        服务订阅/取消订阅:服务调用者订阅服务提供者的信息,最好有实时推送的功能
        服务路由(可选):具有筛选整合服务提供者的能力。

服务配置:
        配置订阅:服务提供者和服务调用者订阅微服务相关的配置
        配置下发:主动将配置推送给服务提供者和服务调用者

服务健康检测
        检测服务提供者的健康情况

3.1.1.注册中心对比

比较项 ZOOKEEPER EUREKA CONSUL NACOS
CAP CP AP CP CP/AP
一致性算法 Paxos - Raft Raft
自我保护机制
SpringCloud集成 支持 支持 支持 支持
Dubbo集成 支持 不支持 支持 支持
K8S集成 不支持 不支持 支持 支持

3.2.服务网关

        也称为API网关,对外提供API接口,是服务调用的唯一入口,可以在这个组件中实现请求路由、用户鉴权、动态路由、灰度发布、负载均衡、负载限流等功能。API 网关是微服务架构中的入口,用于接收来自客户端的请求,并根据请求的内容路由到不同的微服务。常用的 API 网关包括 Nginx、Kong、Zuul 和 Spring Cloud Gateway 等。

微服务架构,java,服务器,网络,微服务

例如包含上图中的Gateway功能:

  1. 路由管理;
  2. 安全认证;
  3. 流量控制;
  4. 日志监控;
  5. 熔断保护等功能。

权限控制:网关作为微服务入口,需要校验用户是是否有请求资格,如果没有则进行拦截。

路由和负载均衡:一切请求都必须先经过gateway,但网关不处理业务,而是根据某种规则,把请求转发到某个微服务,这个过程叫做路由。当然路由的目标服务有多个时,还需要做负载均衡。当然路由的目标服务有多个时,还需要做负载均衡。

限流:当请求流量过高时,在网关中按照下流的微服务能够接受的速度来放行请求,避免服务压力过大

负载均衡:服务提供方一般以多实例的形式提供服务,使用负载均衡能够让服务调用方连接到合适的服务节点。当多个服务提供者时,可以根据负载均衡算法,比如:如简单轮询、随机连接等,自动地选择需要调用的服务地址。

3.2.1.主流API网关对比

        主流网关选择有 NGINX、Kong、Apache APISIX 和 Envoy 等,Java 技术栈的有 Netfilx Zuul、Spring Cloud Gateway、Soul 等。 ​

网关 痛点 优势
NGINX 1. 修改配置需要 Reload 才能生效,跟不上云原生的发展。 1. 老牌应用;
2. 稳定可靠,久经考验;
3. 高性能。
Apache APISIX 1. 文档不够丰富和清晰,需要待改进。 1. Apache 基金会顶级项目;
2. 技术架构更贴合云原生; 3. 性能表现优秀;
4. 生态丰富;
5. 除了支持 Lua 开发插件外,还支持 Java、Go、Python、Node 等语言插件。
Kong 1. 默认使用 PostgreSQL 或 Cassandra 数据库,使得整个架构非常臃肿,并且会带来高可用的问题;
2. 路由使用的是遍历查找,当网关内有超过上千个路由时,它的性能就会出现比较急剧的下降;
3. 一些重要功能是需要付费的。
1. 开源 API 网关的鼻祖,用户数众多;
2. 性能满足大部分用户的需求;
3. 生态丰富;
4. 支持 Lua 和 Go 开发插件。
Envoy 1. 使用 C++二次开发难度大;
2. 除了 C++ 开发 filter 外,还支持 WASM 和 Lua。
1. CNCF 毕业项目 更适合服务网格场景多语言架构部署。
Spring Cloud Gateway 1. 虽然 Spring 社区成熟,但是 Gateway 资源缺乏。 1. 内置了非常多的开箱即用功能,并且都可以通过 SpringBoot 配置或者手工编码链式调用来使用;
2. Spring 系列可扩展性强,易配置,可维护性好;
3. Spring 社区成熟;
4. 简单易用;
5. 对于 Java 技术栈来说方便。

3.3.分布式配置中心

        集中管理应用程序的配置信息,包括数据库连接、日志级别等,将本地化的配置信息(properties、yml、yaml等)注册到配置中心,实现程序包在开发、测试、生产环境的无差别性,方便程序包的迁移。

3.4.服务容错(服务熔断)

 当微服务系统的一个服务出现故障时,故障会沿着服务的调用链路在系统中疯狂蔓延,最终导致整个微服务系统的瘫痪,这就是“雪崩效应”。为了防止此类事件的发生,微服务架构引入了“熔断器”的一系列服务容错和保护机制。

在微服务系统中,Hystrix 能够帮助我们实现以下目标:

  • 保护线程资源:防止单个服务的故障耗尽系统中的所有线程资源。
  • 快速失败机制:当某个服务发生了故障,不让服务调用方一直等待,而是直接返回请求失败。
  • 提供降级(FallBack)方案:在请求失败后,提供一个设计好的降级方案,通常是一个兜底方法,当请求失败后即调用该方法。
  • 防止故障扩散:使用熔断机制,防止故障扩散到其他服务。
  • 监控功能:提供熔断器故障监控组件 Hystrix Dashboard,随时监控熔断器的状态。

微服务架构,java,服务器,网络,微服务

通过断路器(也称熔断器)等一系列的服务保护机制,保证服务调用者在调用异常服务时快速地返回结果,避免大量的同步等待。

服务熔断可以理解为类似于电表的保险丝,一旦某个时刻电压过载,那么保险丝就熔断了。

服务熔断的实现,大体流程如下图所示:

微服务架构,java,服务器,网络,微服务

3.5.负载均衡

负载均衡是用于解决一台机器(一个进程)无法解决所有请求而产生的一种算法。

  1. 当集群里的1台或者多台服务器down的时候,剩余的没有down的服务器可以保证服务的继续使用。
  2. 使用了更多的机器保证了机器的良性使用,不会由于某一高峰时刻导致系统cpu急剧上升。

3.5.1.负载均衡有好几种实现策略,

常见的有:

  1. 随机 (Random)
  2. 轮询 (RoundRobin)
  3. 一致性哈希 (ConsistentHash)
  4. 哈希 (Hash)
  5. 加权(Weighted)

3.5.2.负载均衡分类

常见的负载均衡系统包括:DNS负载均衡、硬件负载均衡和软件负载均衡。 

3.5.3.微服务实现负载均衡的三种架构模式

  • 服务提供者端集中式负载均衡模式

这种模式在微服务架构模式之前普遍使用,指的是在消费者和服务提供方中间使用独立的代理方式进行负载,一般都是使用Nginx来实现。

微服务架构,java,服务器,网络,微服务

  • 客户端负载均衡模式

在微服务架构中普遍使用,通过服务的注册中心将服务提供者的访问地址发送出去,服务消费者得到地址后在消费者端进行负载均衡,一般使用Ribbo来实现。

微服务架构,java,服务器,网络,微服务

  • 边车负载均衡模式

下一代微服务架构中将对负载均衡进行沉淀到独立的进程中,最大的变化就是和业务应用完全解耦了。

微服务架构,java,服务器,网络,微服务

3.6.其它

3.6.1.监控与日志

        微服务架构中的服务拓扑比较复杂,每个服务的调用链也比较长,因此需要进行分布式跟踪和监控,以便及时发现和解决问题。常用的分布式跟踪与监控组件包括 Zipkin、SkyWalking 和 Jaeger 等。

3.6.2.分布式数据存储

        由于微服务架构中的每个服务都需要独立部署和管理,因此数据的存储和访问也需要进行分布式处理。常用的分布式数据存储包括关系型数据库(如 MySQL、PostgreSQL)、NoSQL 数据库(如 MongoDB、Cassandra)和分布式缓存(如 Redis、Memcached)等

4.微服务架构有哪些

        一个微服务框架至少需要的组件有:网关、注册中心、微服务,如果想要通过服务来统一管理我们的配置文件,那么就还需要一个配置中心,目前国内企业使用的微服务架构,主要是这三个体系:

  • Spring Cloud
  • Spring Cloud Alibaba
  • ServiceMesh

5.常用微服务架构

5.1.SpringCloud与SpringCloud Alibaba的关系

        SpringCloud Alibaba是阿里研发的一套微服务架构的落地技术方案,可以很好的兼容SpringCloud,只需修改一些配置和注解,原生SpringCloud就可以接入到SpringCloud Alibaba中。
SpringCloud Alibaba提供了一些新组件,来落地微服务架构,阿里之所以要开发这套技术架构,主要是为了推广相关的产品,当然有付费产品。
下面看SpringCloud与Alibaba组件对比:
微服务架构,java,服务器,网络,微服务

微服务架构,java,服务器,网络,微服务

微服务架构,java,服务器,网络,微服务 

5.2.版本说明

5.2.1.组件版本关系
微服务架构,java,服务器,网络,微服务

5.2.2.毕业版本依赖关系(推荐使用)
微服务架构,java,服务器,网络,微服务

5.3.Spring Cloud&Dubbo系和阿里系组件对比

Spring Cloud&Dubbo系 阿里系
配置中心         SpringCloud Config Nacos
服务调用(服务通信) feign、RestTemplete OpenFeign
服务注册 Eurake、Zookeeper Nacos Discovery
服务调用         Feign         Dubbo RPC
API网关 Spring Cloud Gateway、Zuul Spring Cloud Gateway
熔断限流 Hystrix Sentinel
配置中心 Apollo、Spring Cloud Config Nacos Config
负载均衡         Ribbon Dubbo LB
消息队列 RocketMQ
分布式事务  ------- Seata
分布式服务追踪 Spring Cloud Sleuth Spring Cloud Sleuth
监控 Spring Cloud Admin Spring Cloud Admin
消息总线 Spring Cloud Bus
短信服务 Alibaba Cloud SMS

6.Spring Cloud Alibaba

 Spring Cloud Alibaba 系列组件,其中包含了阿里开源组件,阿里云商业化组件,以及集成Spring Cloud 组件

微服务架构,java,服务器,网络,微服务

6.1.主要功能

  • 服务限流降级:默认支持 WebServlet、WebFlux, OpenFeign、RestTemplate、Spring Cloud Gateway, Zuul, Dubbo 和 RocketMQ 限流降级功能的接入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级 Metrics 监控。
  • 服务注册与发现:适配 Spring Cloud 服务注册与发现标准,默认集成了 Ribbon 的支持。
  • 分布式配置管理:支持分布式系统中的外部化配置,配置更改时自动刷新。
  • 消息驱动能力:基于 Spring Cloud Stream 为微服务应用构建消息驱动能力。
  • 分布式事务:使用 @GlobalTransactional 注解, 高效并且对业务零侵入地解决分布式事务问题。
  • 阿里云对象存储:阿里云提供的海量、安全、低成本、高可靠的云存储服务。支持在任何应用、任何时间、任何地点存储和访问任意类型的数据。
  • 分布式任务调度:提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。同时提供分布式的任务执行模型,如网格任务。网格任务支持海量子任务均匀分配到所有 Worker(schedulerx-client)上执行。
  • 阿里云短信服务:覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。

6.2.阿里开源组件

        Spring Cloud Alibaba 的核心组件包括 Nacos、Sentinel、Dubbo 和 RocketMQ。下面将分别介绍这些组件及其架构设计和流程。

Sentinel:Sentinel 是一款轻量级的流量控制和熔断降级框架。把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。能够帮助用户解决高并发场景下的稳定性问题。它提供了实时的监控和告警功能,能够对服务的 QPS、RT、异常率等指标进行实时监控和统计,同时也支持基于规则的熔断降级、流量控制和系统保护。

Sentinel 的架构设计基于两个核心模块:流量控制和熔断降级。其中,流量控制负责限制服务的流量,避免系统被过载;熔断降级负责在服务异常或不可用时进行自动熔断,避免系统崩溃。

Nacos:Nacos 是一款开源的注册中心和配置中心,帮助用户动态服务发现、配置管理和服务治理,Nacos 的架构设计基于三个核心模块:命名服务(Naming)、配置服务(Configuration)和服务治理(Governance)。其中,命名服务负责服务的注册和发现,配置服务负责配置的管理和发布,服务治理负责服务的负载均衡和流量控制。

Nacos就是注册中心 + 配置中心的组合 等价于 Nacos = Eureka + config + Bus

RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。

Dubbo:Apache Dubbo™ 是一款高性能 Java RPC 框架。Dubbo 是一款高性能的 RPC 框架,能够帮助用户快速构建分布式应用程序。它支持多种协议和序列化方式,并提供了负载均衡、服务降级、集群容错等多种功能。

Dubbo 的架构设计基于三个核心模块:注册中心、提供者和消费者。其中,注册中心负责服务的注册和发现,提供者负责提供服务的实现,消费者负责调用服务的接口。Dubbo 的架构设计基于三个核心模块:注册中心、提供者和消费者。其中,注册中心负责服务的注册和发现,提供者负责提供服务的实现,消费者负责调用服务的接口。

Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。

6.3.阿里商业化组件 

        作为一家商业公司,阿里巴巴推出Spring Cloud Alibaba,很大程度上市希望通过抢占开发者生态,来帮助推广自家的云产品。

Alibaba Cloud OSS: 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。

Alibaba Cloud SchedulerX: 阿里中间件团队开发的一款分布式任务调度产品,提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。

Alibaba Cloud SMS: 覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。

7.Spring Cloud各组件介绍

        Spring Cloud是一个全家桶式的技术栈,包含了很多组件。本文先从其最核心的几个组件入手,来剖析一下其功能结构。也就是Eureka、Ribbon、Feign、Hystrix、Zuul这几个组件。

        SpringCloud为开发人员提供了快速构建分布式系统架构的工具,例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁定,领导选举,分布式会话,集群状态等。作为开发人员,我们只负责写业务代码即可。SpringCloud为我们提供的轮子如下

Spring Cloud Consul、Eureka、Nacos:服务治理组件,包括服务端的注册中心和客户端的服务发现机制。

Spring Cloud Config:集中配置管理工具,分布式系统中统一的外部配置管理,默认使用Git来存储配置,可以支持客户端配置的刷新及加密、解密操作。

Spring Cloud Ribbon:负载均衡的服务调用组件,具有多种负载均衡调用策略;

Spring Cloud Hystrix、Sentinel:服务容错组件,实现了断路器模式,为依赖服务的出错和延迟提供了容错能力;

Spring Cloud Gateway、Zuul:API网关组件,对请求提供路由及过滤功能。

Spring Cloud OpenFeign:基于Ribbon和Hystrix的声明式服务调用组件,可以动态创建基于Spring MVC注解的接口实现用于服务调用,在SpringCloud 2.0中已经取代Feign成为了一等公民。;

Spring Cloud Security:安全工具包,对网关代理中的负载均衡OAuth2客户端及登录认证进行支持。

Spring Cloud Task:用于快速构建短暂、有限数据处理任务的微服务框架,用于向应用中添加功能性和非功能性的特性。

Spring Cloud Bus:用于传播集群状态变化的消息总线,使用轻量级消息代理链接分布式系统中的节点,可以用来动态刷新集群中的服务配置。

Spring Cloud Sleuth:SpringCloud应用程序的分布式请求链路跟踪,支持使用Zipkin、HTrace和基于日志(例如ELK)的跟踪。
Spring Cloud Stream:轻量级事件驱动微服务框架,可以使用简单的声明式模型来发送及接收消息,主要实现为Apache Kafka及RabbitMQ。

Spring Boot Admin、Spring Boot Actuator:Spring Boot Admin 可以对SpringBoot应用的各项指标进行监控,可以作为微服务架构中的监控中心来使用。

微服务架构,java,服务器,网络,微服务

8.SpringCloud与SpringCloud Alibaba抉择

来自阿里云的说法:

❝ Spring Cloud 本身是一套微服务规范,并不是一个拿来即可用的框架,而 Spring Cloud Alibaba 的开源为开发者们提供了这套规范的实现方式。同时,Spring Cloud Alibaba 提供的完整的微服务组件、中文文档和本地化的开源服务提高了开发者们接入微服务的速率,并降低了后续的运维难度。

8.1.为什么使用SpringCloud Alibaba

        因为上面提到的SpringCloud官方版,或者说SpringCloud Netflix版一些重要组件如注册中心Euraka、Ribbon已经不再迭代更新了。

微服务架构,java,服务器,网络,微服务

8.2.SpringCloud的几大痛点

  • SpringCloud部分组件停止维护和更新,给开发带来不便;
  • SpringCloud部分环境搭建复杂,没有完善的可视化界面,我们需要大量的二次开发和定制;
  • SpringCloud配置复杂,难以上手,部分配置差别难以区分和合理应用。

8.3.SpringCloud Alibaba的优势:

  • 阿里使用过的组件经历了考验,性能强悍,设计合理,现在开源出来大家用;
  • 成套的产品搭配完善的可视化界面给开发运维带来极大的便利;
  • 搭建简单,学习曲线低。

8.4.结合SpringCloud Alibaba最终的技术搭配方案

  • SpringCloud Alibaba - Nacos:注册中心(服务发现/注册)
  • SpringCloud Alibaba - Nacos:配置中心(动态配置管理)
  • SpringCloud - Ribbon:负载均衡
  • SpringCloud - Feign:声明式HTTP客户端(调用远程服务)
  • SpringCloud Alibaba - Sentinel:服务容错(限流、降级、熔断)
  • SpringCloud - Gateway:API网关(webflux 编程模式)
  • SpringCloud - Sleuth:调用链监控
  • SpringCloud Alibaba - Seata:原Fescar,即分布式事务解诀方案

参考资料

Service Mesh · Istio · 以实践入门_架构_三辰_InfoQ精选文章

正确入门Service Mesh:起源、发展和现状-阿里云开发者社区 (aliyun.com)

SpringCloud Alibaba 全部组件说明_springcloudalibaba五大组件_七月J的博客-CSDN博客 

目前最新微服务架构技术栈选型 - 掘金 (juejin.cn)

微服务篇——微服务架构及组件(一)_微服务架构组件_码云铁粉的博客-CSDN博客

【微服务】—— 微服务组件基本介绍_Special Careଲଇଉକ的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-773758.html

到了这里,关于微服务架构详解(一):微服务技术选型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络攻防技术——缓冲区溢出攻击(基于服务器)

          缓冲区溢出 被定义为程序试图将数据写入缓冲区边界之外的情况。恶意用户可以利用此漏洞更改程序的流控制,从而导致恶意代码的执行。本实验的目的是让学生对这种类型的漏洞有实际的了解,并学习如何利用攻击中的漏洞。      在这个实验中,学生将得到四个不

    2024年02月02日
    浏览(64)
  • Linux - 进阶 NFS服务器 详解网络共享服务器 ( 预备知识)

               N  :  就是 网络 Network          F   :     就是  File  文件         S   :  system          简称为 网络文件系统                 官方   :               NFS 是一种古老的用于UNIX/LINUX主机之间进行文件共享的协议              Network  File  System 网

    2024年02月13日
    浏览(50)
  • 【计算机网络笔记】Web缓存/代理服务器技术

    什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型

    2024年02月08日
    浏览(43)
  • 9.网络游戏逆向分析与漏洞攻防-游戏网络架构逆向分析-接管游戏连接服务器的操作

    内容参考于:易道云信息技术研究院VIP课 上一个内容:游戏底层功能对接类GameProc的实现 码云地址(master 分支):https://gitee.com/dye_your_fingers/titan 码云版本号:44c54d30370d3621c1e9ec3d7fa1e2a028e773e9 代码下载地址,在 titan 目录下,文件名为:titan-接管游戏连接服务器的操作.zip 链接

    2024年03月08日
    浏览(43)
  • 搭建PXE网络装机服务器(实验详解)

    PXE(Preboot Execution Environment)是一种计算机网络协议,它允许计算机通过网络从远程服务器启动和安装操作系统,而无需使用本地存储设备。PXE网络装机是一种常见的自动化操作系统部署方式,特别适用于大规模计算机系统管理、服务器集群部署、虚拟化环境以及无人值守的

    2024年02月04日
    浏览(46)
  • 解决网络协议服务器问题的关键:定位能力与抓包技术

    本文分享自华为云社区《提升网络协议服务器的定位能力》,作者:张俭。 近期,我再次涉足于协议服务器相关的工作领域,致力于定位并解决各种问题。简单总结一些心得给大家。如果想要定位出协议服务器的问题,那么这些能力可能至关重要。 注:我这里比较偏向协议

    2024年01月16日
    浏览(43)
  • Linux多路IO复用技术——epoll详解与一对多服务器实现

    本文详细介绍了Linux中epoll模型的优化原理和使用方法,以及如何利用epoll模型实现简易的一对多服务器。通过对epoll模型的优化和相关接口的解释,帮助读者理解epoll模型的工作原理和优缺点,同时附带代码实现和图解说明。

    2024年02月05日
    浏览(41)
  • 【云服务器 ECS 实战】负载均衡 SLB 概述及配置选型

    1. 负载均衡概述 负载均衡就是 将访问流量根据转发策略分发到后端的多台服务器中 。负载均衡建立在现有网络结构之上,提供一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。简单理解就是将负载(

    2024年01月22日
    浏览(42)
  • Linux服务器配置指南:网络、用户管理、共享服务及DNS配置详解

    💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】 🤟 基于Web端打造的:👉轻量化工具创作平台 💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 设置虚拟机的网卡为仅主机模式,并要求服务器采用双网卡, ens33 IP地址设置为192.168. 5.x/24(其中x学号),

    2024年02月05日
    浏览(54)
  • 网络socket服务器开发几种并发模型详解

    目录 一、socket创建流程。 二、I/O多路复用 三、服务器开发常见的并发模型 1、模型一:单线程——无IO复用 1.1 模型分析 2、模型二:单线程accept + 多线程读写业务(无IO复用) 模型分析 3、模型三:单线程多路IO复用 模型分析  4、模型四:单线程多路IO复用 + 多线程业务工作

    2024年02月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包