0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

基于Traefik自研的微服务网关

良许Linux 来源:良许Linux 2023-04-16 11:08 次阅读

发现最近最近很多号主发网关的文章,质量参差不齐,建议直接看这篇,有理论,有实战。

不 BB,上文章目录:

edeaac8a-dbfc-11ed-bfe3-dac502259ad0.png

1 API网关基础

1.1 什么是API网关

API网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。

API网关封装了系统内部架构,为每个客户端提供一个定制的API。它可能还具有其它职责,如身份验证、监控、负载均衡、缓存、协议转换、限流熔断、静态响应处理。

API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。通常,网关也是提供REST/HTTP的访问API。

1.2 网关的主要功能

微服务网关作为微服务后端服务的统一入口,它可以统筹管理后端服务,主要分为数据平面和控制平面:

数据平面主要功能是接入用户的HTTP请求和微服务被拆分后的聚合。使用微服务网关统一对外暴露后端服务的API和契约,路由和过滤功能正是网关的核心能力模块。另外,微服务网关可以实现拦截机制和专注跨横切面的功能,包括协议转换、安全认证、熔断限流、灰度发布、日志管理、流量监控等。

控制平面主要功能是对后端服务做统一的管控和配置管理。例如,可以控制网关的弹性伸缩;可以统一下发配置;可以对网关服务添加标签;可以在微服务网关上通过配置Swagger功能统一将后端服务的API契约暴露给使用方,完成文档服务,提高工作效率和降低沟通成本。

edf3c31a-dbfc-11ed-bfe3-dac502259ad0.png

路由功能:路由是微服务网关的核心能力。通过路由功能微服务网关可以将请求转发到目标微服务。在微服务架构中,网关可以结合注册中心的动态服务发现,实现对后端服务的发现,调用方只需要知道网关对外暴露的服务API就可以透明地访问后端微服务。

负载均衡:API网关结合负载均衡技术,利用Eureka或者Consul等服务发现工具,通过轮询、指定权重、IP地址哈希等机制实现下游服务的负载均衡。

统一鉴权:一般而言,无论对内网还是外网的接口都需要做用户身份认证,而用户认证在一些规模较大的系统中都会采用统一的单点登录(Single Sign On)系统,如果每个微服务都要对接单点登录系统,那么显然比较浪费资源且开发效率低。API网关是统一管理安全性的绝佳场所,可以将认证的部分抽取到网关层,微服务系统无须关注认证的逻辑,只关注自身业务即可。

协议转换:API网关的一大作用在于构建异构系统,API网关作为单一入口,通过协议转换整合后台基于REST、AMQP、Dubbo等不同风格和实现技术的微服务,面向Web Mobile、开放平台等特定客户端提供统一服务。

指标监控:网关可以统计后端服务的请求次数,并且可以实时地更新当前的流量健康状态,可以对URL粒度的服务进行延迟统计,也可以使用Hystrix Dashboard查看后端服务的流量状态及是否有熔断发生。

限流熔断:在某些场景下需要控制客户端的访问次数和访问频率,一些高并发系统有时还会有限流的需求。在网关上可以配置一个阈值,当请求数超过阈值时就直接返回错误而不继续访问后台服务。当出现流量洪峰或者后端服务出现延迟或故障时,网关能够主动进行熔断,保护后端服务,并保持前端用户体验良好。

黑白名单:微服务网关可以使用系统黑名单,过滤HTTP请求特征,拦截异常客户端的请求,例如DDoS攻击等侵蚀带宽或资源迫使服务中断等行为,可以在网关层面进行拦截过滤。比较常见的拦截策略是根据IP地址增加黑名单。在存在鉴权管理的路由服务中可以通过设置白名单跳过鉴权管理而直接访问后端服务资源。

灰度发布:微服务网关可以根据HTTP请求中的特殊标记和后端服务列表元数据标识进行流量控制,实现在用户无感知的情况下完成灰度发布。

流量染色:和灰度发布的原理相似,网关可以根据HTTP请求的Host、Head、Agent等标识对请求进行染色,有了网关的流量染色功能,我们可以对服务后续的调用链路进行跟踪,对服务延迟及服务运行状况进行进一步的链路分析。

文档中心:网关结合Swagger,可以将后端的微服务暴露给网关,网关作为统一的入口给接口的使用方提供查看后端服务的API规范,不需要知道每一个后端微服务的Swagger地址,这样网关起到了对后端API聚合的效果。

日志审计:微服务网关可以作为统一的日志记录和收集器,对服务URL粒度的日志请求信息和响应信息进行拦截。

2 API网关选型

2.1 常用API网关

先简单看一下市面上常用的API网关:

ee04cbec-dbfc-11ed-bfe3-dac502259ad0.png

Nginx

Nginx是一个高性能的HTTP和反向代理服务器。Nginx一方面可以做反向代理,另外一方面可以做静态资源服务器,接口使用Lua动态语言可以完成灵活的定制功能。

Nginx 在启动后,会有一个 Master 进程和多个 Worker 进程,Master 进程和 Worker 进程之间是通过进程间通信进行交互的,如图所示。Worker 工作进程的阻塞点是在像 select()、epoll_wait() 等这样的 I/O 多路复用函数调用处,以等待发生数据可读 / 写事件。Nginx 采用了异步非阻塞的方式来处理请求,也就是说,Nginx 是可以同时处理成千上万个请求的。

Zuul

Zuul 是 Netflix 开源的一个API网关组件,它可以和 Eureka、Ribbon、Hystrix 等组件配合使用。社区活跃,融合于 SpringCloud 完整生态,是构建微服务体系前置网关服务的最佳选型之一。

Zuul 的核心是一系列的过滤器,这些过滤器可以完成以下功能:

统一鉴权 + 动态路由 + 负载均衡 + 压力测试

审查与监控:与边缘位置追踪有意义的数据和统计结果,从而带来精确的生产视图。

多区域弹性:跨越 AWS Region 进行请求路由,旨在实现 ELB(Elastic Load Balancing,弹性负载均衡)使用的多样化,以及让系统的边缘更贴近系统的使用者。

Zuul 目前有两个大的版本:Zuul1 和 Zuul2

Zuul1 是基于 Servlet 框架构建,如图所示,采用的是阻塞和多线程方式,即一个线程处理一次连接请求,这种方式在内部延迟严重、设备故障较多情况下会引起存活的连接增多和线程增加的情况发生。

ee0e0608-dbfc-11ed-bfe3-dac502259ad0.png

Netflix 发布的 Zuul2 有重大的更新,它运行在异步和无阻塞框架上,每个 CPU 核一个线程,处理所有的请求和响应,请求和响应的生命周期是通过事件和回调来处理的,这种方式减少了线程数量,因此开销较小。

ee279f64-dbfc-11ed-bfe3-dac502259ad0.png

Spring Cloud GetWay

Spring Cloud Gateway 是Spring Cloud的一个全新的API网关项目,目的是为了替换掉Zuul1,它基于Spring5.0 + SpringBoot2.0 + WebFlux(基于⾼性能的Reactor模式响应式通信框架Netty,异步⾮阻塞模型)等技术开发,性能⾼于Zuul,官⽅测试,Spring Cloud GateWay是Zuul的1.6倍,旨在为微服务架构提供⼀种简单有效的统⼀的API路由管理⽅式。

Spring Cloud Gateway可以与Spring Cloud Discovery Client(如Eureka)、Ribbon、Hystrix等组件配合使用,实现路由转发、负载均衡、熔断、鉴权、路径重写、⽇志监控等,并且Gateway还内置了限流过滤器,实现了限流的功能。

ee324b6c-dbfc-11ed-bfe3-dac502259ad0.png

Kong

Kong是一款基于OpenResty(Nginx + Lua模块)编写的高可用、易扩展的,由Mashape公司开源的API Gateway项目。Kong是基于NGINX和Apache Cassandra或PostgreSQL构建的,能提供易于使用的RESTful API来操作和配置API管理系统,所以它可以水平扩展多个Kong服务器,通过前置的负载均衡配置把请求均匀地分发到各个Server,来应对大批量的网络请求。

ee3d1b46-dbfc-11ed-bfe3-dac502259ad0.png

Kong主要有三个组件:

Kong Server :基于Nginx的服务器,用来接收API请求。

Apache Cassandra/PostgreSQL :用来存储操作数据。

Kong dashboard:官方推荐UI管理工具,也可以使用 restfull 方式管理admin api。

Kong采用插件机制进行功能定制,插件集(可以是0或N个)在API请求响应循环的生命周期中被执行。插件使用Lua编写,目前已有几个基础功能:HTTP基本认证、密钥认证、CORS(Cross-Origin Resource Sharing,跨域资源共享)、TCP、UDP、文件日志、API请求限流、请求转发以及Nginx监控。

ee479436-dbfc-11ed-bfe3-dac502259ad0.png

Kong网关具有以下的特性:

可扩展性: 通过简单地添加更多的服务器,可以轻松地进行横向扩展,这意味着您的平台可以在一个较低负载的情况下处理任何请求;

模块化: 可以通过添加新的插件进行扩展,这些插件可以通过RESTful Admin API轻松配置;

在任何基础架构上运行: Kong网关可以在任何地方都能运行。您可以在云或内部网络环境中部署Kong,包括单个或多个数据中心设置,以及public,private 或invite-only APIs。

Traefik

Træfɪk 是一个为了让部署微服务更加便捷而诞生的现代HTTP反向代理、负载均衡工具。它支持多种后台 (Docker, Swarm, Kubernetes, Marathon, Mesos, Consul, Etcd, Zookeeper, BoltDB, Rest API, file…) 来自动化、动态的应用它的配置文件设置。

ee552b14-dbfc-11ed-bfe3-dac502259ad0.png

重要特性:

它非常快,无需安装其他依赖,通过Go语言编写的单一可执行文件;

多种后台支持:Docker, Swarm, Kubernetes, Marathon, Mesos, Consul, Etcd;

支持支持Rest API、Websocket、HTTP/2、Docker镜像;

监听后台变化进而自动化应用新的配置文件设置;

配置文件热更新,无需重启进程;

后端断路器、负载均衡、容错机制;

清爽的前端页面,可监控服务指标。

关于Traefik的更多内容,可以查看官网:https://traefik.cn/

2.2 API网关对比

ee636864-dbfc-11ed-bfe3-dac502259ad0.png

ee71eae2-dbfc-11ed-bfe3-dac502259ad0.png

ee7914b6-dbfc-11ed-bfe3-dac502259ad0.png

上面是网关对比截图,偷个懒,大家主要关注Kong、Traefik和Zuul即可:

从开源社区活跃度来看,无疑是Kong和Traefik较好;

从成熟度来看,较好的是Kong、Tyk、Traefik;

从性能来看,Kong要比其他几个领先一些;

从架构优势的扩展性来看,Kong、Tyk有丰富的插件,Ambassador也有插件但不多,而Zuul是完全需要自研,但Zuul由于与Spring Cloud深度集成,使用度也很高,近年来Istio服务网格的流行,Ambassador因为能够和Istio无缝集成也是相当大的优势。

下面是其它网友的思考结论,可供参考:

性能:Nginx+Lua形式必然是高于Java语言实现的网关的,Java技术栈里面Zuul1.0是基于Servlet实现的,剩下都是基于webflux实现,性能是高于基于Servlet实现的。在性能方面我觉得选择网关可能不算那么重要,多加几台机器就可以搞定。

可维护性和扩展性:Nginx+Lua这个组合掌握的人不算多,如果团队有大神,大佬们就随意了,当没看到这段话,对于一般团队来说的话,选择自己团队擅长的语言更重要。Java技术栈下的3种网关,对于Zuul和Spring Cloud Getway需要或多或少要搞一些集成和配置页面来维护,但是对于Soul我就无脑看看文章,需要哪个搬哪个好了,尤其是可以无脑对接Dubbo美滋滋,此外Soul2.0以后版本可以摆脱ZK,在我心里再无诟病,我就喜欢无脑操作。

高可用:对于网关高可用基本都是统一的策略都是采用多机器部署的方式,前面挂一个负载,对于而外需要用的一些组件大家注意一下。

3 基于Traefik自研的微服务网关

这个是我司自研的微服务网关,基于Traefik进行开发,下面从技术选型、网关框架、网关后台、协议转换进行讲解,绝对干货!

3.1 技术栈选型

Traefik:一款开源的反向代理与负载均衡工具,它最大的优点是能够与常见的微服务系统直接整合,可以实现自动化动态配置。traefik较为轻量,非常易于使用和设置,性能比较好,已在全球范围内用于生产环境。

Etcd:一个Go言编写的分布式、高可用的一致性键值存储系统,用于提供可靠的分布式键值存储、配置共享和服务发现等功能。(更多内容可以查看文章 肝了一个月的ETCD,从Raft原理到实践 )

Go:并发能力强,性能媲美C,处理能力是PHP的4倍,效率高,语法简单,易上手,开发效率接近PHP。

ee86519e-dbfc-11ed-bfe3-dac502259ad0.png

3.3 网关框架

整个网关框架分为3块:

网关后台(hal-fe和hal-admin):用于应用、服务和插件的配置,然后将配置信息发布到ETCD;

Traefik:读取ETCD配置,根据配置信息对请求进行路由分发,如果需要鉴权,会直接通过hal-agent模块进行统一鉴权。鉴权完毕后,如果是Http请求,直接打到下游服务,如果是Grpc和Thrift协议,会通过hal-proxy模块进行协议转换。

协议转换模块:读取ETCD配置,对Traefik分发过来的请求,进行Grpc和Thrift协议转换(更多内容可以查看文章 RPC框架:从原理到选型,一文带你搞懂RPC),并通过服务发现机制,获取服务下游机器,并通过负载均衡,将转换后的数据打到下游服务机器。

ee903c0e-dbfc-11ed-bfe3-dac502259ad0.png

3.4 网关后台

主要由3大模块组成:

应用:主要包括应用名、域名、路径前缀、所属组、状态等,比如印度海外商城、印度社区;

服务:主要包括服务名、注册方式、协议类型、所属组、状态等,比如评论服务、地址服务、搜索服务。

插件:主要包括插件名称、插件类型、插件属性配置等,比如路径前缀替换插件、鉴权插件。

ee9d0e02-dbfc-11ed-bfe3-dac502259ad0.png

一个应用只能绑定一个服务,但是可以绑定多个插件。通过后台完成网关配置后,将这些配置信息生成Config文件,发布到ETCD中,Config文件需要遵循严格的数据格式,比如Traefix配置需要遵循官方的文件配置格式,才能被Traefik识别。

eea7b1fe-dbfc-11ed-bfe3-dac502259ad0.png

3.5 协议转换模块

hal-proxy模块是整个微服务网关最复杂,也是技术含量最高的模块,所以给大家详细讲解一下。

问题引入

在讲这个模块前,我们先看下面几个问题:

当请求从上游的trafik过来时,需要知道访问下游的机器IP和端口,才能将请求发送给下游,这些机器如何获取呢?

有了机器后,我们需要和下游机器建立连接,如果连接用一次就直接释放,肯定对服务会造成很大的压力,这就需要引入Client缓存池,那这个Client缓存池我们又该如何实现呢?

最后就是需要对协议进行转换,因为不同的下游服务,支持的协议类型是不一样的,这个网关又是如何动态支持的呢?

eeb32f16-dbfc-11ed-bfe3-dac502259ad0.png

实现原理

eebcc1ac-dbfc-11ed-bfe3-dac502259ad0.png

我们还是先看一下hal-proxy内部有哪些模块,首先是Resolver模块,这个模块的是什么作用呢?这里我简单介绍一下,目前公司内部通过服务获取到机器列表的方式有多种,比如MIS平台、服务树等,也就是有的是通过平台配置的,有的是直接挂在服务树下,无论哪种方式,我们都通过服务名,通过一定的方式,找到该服务下面所有的主机。

所以Resolver模块的作用,其实就是通过服务名,找到该服务下的所有机器的IP和服务端口,然后持久化到内存中,并定时更新。

协议模块就是支持不同的协议转换,每个协议类型的转换,都需要单独实现,这些协议转换,无非就是先通过机器IP和端口初始化Client,然后再将数据进行转换后,直接发送到下游的机器。

最后就是连接池,之前我们其实也用到go自带的pool来做,但是当对pool数据进行更新时,需要加锁,所以性能一直起不来,后来改成了环形队列,然后对数据的操作全部通过原子操作方式,就实现了无锁操作,大大提高的并发性能。环形队列的代码,也给你安排上,可以直接看这篇文章 Go语言核心手册-10.原子操作。

实现逻辑

这个是hal-proxy的逻辑实现图,画了2天,包含所有核心对象的交互方式,这里就不去细讲,能掌握多少,靠大家自己领悟,如果有任何疑问(或者看不清图片),可以关注我公众号,加我微信沟通。

eec8ea4a-dbfc-11ed-bfe3-dac502259ad0.png

审核编辑 :李倩

  • 模块
    +关注

    关注

    7

    文章

    1594

    浏览量

    45444
  • 网关
    +关注

    关注

    9

    文章

    1376

    浏览量

    49175
  • 微服务
    +关注

    关注

    0

    文章

    88

    浏览量

    7032
收藏 人收藏

    评论

    相关推荐

    #硬声创作季 Java项目实战(金融项目)-微服务网关在项目中的应用

    网关前端javascript网关设备
    Mr_haohao
    发布于 :2022年09月08日 13:30:00

    #硬声创作季 Java项目实战(金融项目)-创建微服务网关并启动

    网关前端javascript网关设备
    Mr_haohao
    发布于 :2022年09月08日 13:31:09

    1 3 什么是微服务#硬声创作季

    微服务
    充八万
    发布于 :2022年10月23日 07:28:05

    性能提升1倍,成本直降50%!基于龙蜥指令加速的下一代云原生网关

    ;业务网关提供独立业务域级别的、与后端业务紧耦合策略配置,随着应用架构模式从单体演进到现在的分布式微服务,业务网关也有了新的叫法 - 微服务网关。(图 6/传统网关)MSE 云原生网关在容器技术与 K8s
    发表于 08-31 10:46

    1 1 微服务 导学#硬声创作季

    微服务
    充八万
    发布于 :2022年10月23日 07:26:34

    1 5 微服务架构的优势和不足#硬声创作季

    微服务
    充八万
    发布于 :2022年10月23日 07:29:36

    2 1 微服务架构带来的问题#硬声创作季

    微服务
    充八万
    发布于 :2022年10月23日 07:33:23

    5 7 微服务部署 A#硬声创作季

    微服务
    充八万
    发布于 :2022年10月23日 07:54:35

    云芯一号ARM微服务器板卡的方法和过程介绍

    1、云芯一号统一固件和多分区镜像文件的方法云芯一号是极术社区发布的一款ARM微型服务器板卡,有幸成为“云芯一号”ARM微服务器的第一批试用工程师。在收到“云芯一号”ARM微服务器板卡后,进行试用和
    发表于 06-16 16:02

    微服务架构下分布式事务解决方案 —— 阿里GTS

    摘要: 本文将深入和大家探讨微服务架构下,分布式事务的各种解决方案,并重点为大家解读阿里巴巴提出的分布式事务解决方案----GTS。该方案中提到的GTS是全新一代解决微服务问题的分布式事务互联网
    发表于 03-16 11:14

    使用 Dubbo 对遗留单体系统进行微服务改造

    。1.10 更多当然微服务改造的要求远不止上面提到的这些点,还应该包括诸如:配置管理、服务注册与发现、负载均衡、网关、限流降级、扩缩容、监控和分布式事务等,然而这些需求大部分是要在微服务系统已经升级
    发表于 06-26 18:21

    Dubbo Cloud Native 之路的实践与思考

    Native 基础设施服务发现(Service Discovery )如何选择EurekaConsulZookeeper负载均衡服务网关分布式配置服务熔断链路跟踪服务监控Cloud Native 架构选型
    发表于 07-05 16:05

    采用apache-httpd的微服务请求代理实现

    2018-12-06 基于apache-httpd实现微服务的请求代理
    发表于 05-17 13:11

    微服务架构和CQRS架构基本概念介绍

    微服务架构现在很热,到处可以看到各大互联网公司的微服务实践的分享总结。但是,我今天的分享和微服务没有关系,希望可以带给大家一些新的东西。如果一定要说微服务和CQRS架构的关系,那我觉得微服务是一种
    发表于 05-22 09:03

    开疆智能CANOpen网关连接控步进电机配置案例

    `本例为控 ESS57-C21 系列步进电机的 CANOPEN 配置方法,使用硬件为西门子 1200PLC,开疆智能 canopen 转 profinet 转换网关(型号:KJ-PNG-105)
    发表于 07-29 14:08

    微服务完整的增删改查功能

    微服务 SpringBoot 20(七):使用JdbcTemplates访问Mysql
    发表于 08-20 14:28

    有奖话题:腾讯参战,BAT全部进军芯片市场?

    继阿里、百度之后,中国 BAT 巨头中的腾讯或许也要进军芯片市场了。天眼查资料显示腾讯成立了深圳宝安湾腾讯云计算有限公司,注册资金 2000 万,法定代表人为腾讯云副总裁王景田。宝安湾腾讯云计算
    发表于 03-26 10:36

    Rokid芯片抢先看

    又一AI芯片浮出杭州西溪:阿里之后,Rokid芯片也曝光了
    发表于 06-05 13:00

    BI软件的ETL用开源的好,还是的好?

    有些BI软件厂商为降低成本往往会采用开源的ETL,但也有部分厂商选择的ETL。作为使用者一方来说,究竟是使用开源ETL的好,还是ETL的好?首先我们要来捋一捋两种ETL使用体验:开源ETL
    发表于 08-27 09:44

    招兼职 微服务架构 技术人员

    招兼职 微服务架构 技术人员以兼职培训讲师为主,也有兼职项目外包或技术支持的活如您想挣点外块,积累资源,充实生活,请联系我要求有实际项目经历,三年以上项目经历,表达能力较好微信15501239699
    发表于 10-22 16:25

    招兼职啦! 微服务架构 技术人员

    招兼职啦!!! 微服务架构 技术人员以兼职培训讲师为主,也有兼职项目外包或技术支持的活如您想挣点外块,积累资源,充实生活,请联系我要求有实际项目经历,三年以上项目经历,表达能力较好微信
    发表于 10-26 14:19

    微服务网关gateway的相关资料推荐

    目录微服务网关 gateway 概述[路由器网关 Zuul 概述]嵌入式 Zuul 反向代理微服务网关 gateway 概述1、想象一下一个购物应用程序的产品详情页面展示了指定商品的信息:2、若是
    发表于 12-23 08:19

    苹果射频芯片?OPPONPU芯片!芯片的国产替代需要跨越三个误区!

    、中兴等少数几家,但是近两年越来越多的系统厂家开始自己开发集成电路,这让传统的集成电路设计公司感到了强大的威胁。他指出,这些大公司做芯片,是一个历史的必然。这些终端厂商、服务器厂商对于业务系统最为
    发表于 01-02 08:00

    有没有工业电力方面的板子?是plc

    有没有工业电力方面的板子?是plc
    发表于 05-11 03:51

    面向数控设备的WEB服务网关

    在SOA 的工业自动化控制中, 需要将数控设备所提供RS232 或RS422/ RS485 串行通信接口等现场总线,映射为相应的制造WEB 服务。数控设备WEB 服务网关可将现场总线设备连接到互联网并发
    发表于 08-05 11:33 17次下载

    iot环境监测 多服务网关连接传感器与云的通信

    服务网关是更智能的解决方案,它采用预先集成且预先验证的硬件和软件,成本高效地统一不同组件并将数据传输至云端。该解决方案设计灵活此类多服务网关允许利用云连接性集成完全不同的传统技术与现代 IoT 技术。
    发表于 09-08 16:41 6次下载
    iot环境监测 多<b>服务网关</b>连接传感器与云的通信

    使用Spring Cloud与Docker实战微服务

    使用Spring Cloud与Docker实战微服务
    发表于 09-09 08:31 7次下载
    使用Spring Cloud与Docker实战<b>微服务</b>

    Service Mesh服务网格新生代

    服务网格 Service Mesh,服务网格,也有人翻译为服务啮合层。这貌似是今年才出来的新名词?在2017年之前没有听过,虽然类似的产品已经存在挺长时间。 什么是Service Mesh(服务网
    发表于 09-27 11:15 0次下载
    Service Mesh<b>服务网</b>格新生代

    java微服务生态系统模型解读

    微服务并不是孤立存在的,它们存在于一个环境里,微服务在这个环境里进行交互。把这种环境看成微服务生态系统并分层,有助于理解微服务架构。 在一个设计良好的微服务生态系统里,微服务与基础设施之间是分离
    发表于 09-27 13:06 0次下载
    java<b>微服务</b>生态系统模型解读

    运维是如何看待微服务和容器的

    微服务在带来良好的设计和架构理念的同时,也带来了运维上的额外复杂性,尤其是在服务部署和服务监控上。那么,运维是如何看待微服务和容器的呢?传统的单体应用又该如何完成微服务拆分?如何进行微服务之间的依赖
    发表于 09-30 17:24 0次下载
    运维是如何看待<b>微服务</b>和容器的

    微服务与容器技术实践

    基于微服务架构的技术实践(点击下载演讲PPT) 普元信息主任架构师顾伟在演讲中,分享了他们对微服务架构的认识,包括微服务演进过程、常见认知误区等,并阐述了结合容器云技术,分享在微服务架构中做的关键
    发表于 10-10 10:23 1次下载
    <b>微服务</b>与容器技术实践

    关于微服务的一些问题的解答

    微服务确实很受欢迎,但是对于微服务的误解也是事实,本文对这些误解一一来介绍下: 一、微服务不够微? 尽管微服务定义的很明确,但是开发者社区对它的解释却颇有争议,主要的一些问题如下: 1.它是否是单体
    发表于 10-11 11:27 0次下载
    关于<b>微服务</b>的一些问题的解答

    Java教程之微服务:从设计到部署PDF电子书免费下载

    近年来,微服务在应用开发和部署方面取得了显著的进步。将应用开发或者重构成微服务以分离服务,通过 API 以明确的方式来相互“对话”。例如,每个微服务都是包含(self-contained),各自维护自己的数据存储(这非常有意义),可以独立更新其他服务
    发表于 06-11 08:00 0次下载
    Java教程之<b>微服务</b>:从设计到部署PDF电子书免费下载

    Python微服务开发的PDF教程免费下载

    为将 Web 应用部署到云,代码需要与很多第三方服务进行交互。使用微服务架构,可构建能管理这些交互的大型应用。但这带来一系列挑战,每项挑战都有独特的复杂性。这本通俗易懂的指南旨在帮助你克服这些挑战
    发表于 10-09 08:00 103次下载

    Python微服务开发PDF电子书免费下载

    Python微服务开发近年来,“微服务”技术风靡全球。随着传统互联网和移动互联网的蓬勃发展,企业在快速迭代中积累了大规模服务化开发和运维经验。为通过提高 IT 的响应能力来提升竞争力,微服务架构
    发表于 10-21 08:00 22次下载
    Python<b>微服务</b>开发PDF电子书免费下载

    微服务时代的复杂服务软件的开发综述

    微服务时代的软件系统变得越来越复杂,传统的软件开发理论、方法和技术不再适用。面向复杂服务软件开发的过程,微服务架构有着可扩展性强、灵活性高的优点,同时对运维能力和服务管理能力提岀了更高的要求,需要
    发表于 04-23 10:14 0次下载
    <b>微服务</b>时代的复杂<b>服务</b>软件的开发综述

    微服务软件架构应用研究综述

    2014年,微服务架构概念经Martin Flower提出以来,受到广泛关注,为更好了解微服务架构风格,本文首先分析、梳理了软件架构的发展历程,随后介绍了微服务架构的原理、设计和目前流行的微服务产品,并分析其优缺点,最终对微服务架构的应用前景作出论述。
    发表于 05-26 09:26 1次下载

    基于现场4G LTE网络的新LTE多服务网关

    Altair Semiconductor公司、 Ecrio 公司和领特公司(Lantiq)共同宣布了他们之间的成功合作,并演示了由LTE Multiservice Gateway多服务网关产品支持的4G LTE IP多媒体子系统(IMS)
    发表于 01-21 14:23 1285次阅读

    聚焦微服务器:细看惠普登月系统的IT变革

     微服务器是指采用低功耗处理器大幅降低成本及能耗的新型系统。随着社交、移动、云和大数据的爆发式增长,数据中心能耗居高不下,互联网等行业大规模数据中心对微服务器的需求日渐凸显。在绿色数据中心发展的带动下,低功耗微服务器“热度”持续走高,已呈现多核化态势,用户亦开始认可低功耗微处理器的微服务器。
    发表于 04-27 09:27 1024次阅读

    基于STM32F的智能家居服务网关设计

    随着物联网技术的飞速发展,将传统的Internet与新型的无线传感器网络整合的趋势越来越明显,嵌入式服务网关既是无线传感器网络的协调器网关,又是远程WEB的服务器,它实现两个不同协议的网络之间的通信。
    发表于 09-17 18:23 6814次阅读
    基于STM32F的智能家居<b>服务网关</b>设计

    华IoT边缘智能服务器---不仅仅是物联网网关

    2017年,台北–全球嵌入式计算领导厂商华科技,继2016年推出物联网网关后,华整合更多的软件模组与服务,进一步推出EIS-Edge Intelligence Server——IoT边缘智能服务器系列。
    发表于 03-27 19:02 2133次阅读
    <b>研</b>华IoT边缘智能<b>服务</b>器---不仅仅是物联网<b>网关</b>

    基于STM32F107的智能家居服务网关设计

    0 引言 随着物联网技术的飞速发展,将传统的Internet与新型的无线传感器网络整合的趋势越来越明显,嵌入式服务网关既是无线传感器网络的协调器网关,又是远程WEB 的服务器,它实现两个不同协议
    发表于 11-30 04:50 262次阅读
     基于STM32F107的智能家居<b>服务网关</b>设计

    soa和微服务的区别

    微服务究竟是压垮SOA的最后一根稻草,还是能够拯救整个软件工程行业的万能药?人们对于微服务的概念进行了大量的讨论,其中有许多讨论是关于微服务与SOA之间的关联。本文将对soa和微服务的区别进行分析
    的头像 发表于 02-07 14:11 1.4w次阅读
    soa和<b>微服务</b>的区别

    我所理解的SOA和微服务

    本文主要浅谈SOA和微服务。SOA和微服务两者说到底都是对外提供接口的一种架构设计方式,微服务其实就是随着互联网的发展,复杂的平台、业务的出现,导致SOA架构向更细粒度、更通过化程度发展,就成了所谓的微服务了。
    的头像 发表于 02-07 14:19 3114次阅读
    我所理解的SOA和<b>微服务</b>

    什么是微服务_微服务知识点全面总结

    微服务是一个新兴的软件架构,就是把一个大型的单个应用程序和服务拆分为数十个的支持微服务。一个微服务的策略可以让工作变得更为简便,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。
    的头像 发表于 02-07 16:06 1.4w次阅读

    微服务是如何演变的

    微服务的概念产生是顺应这样的需求:为了开发出速度更快、更有弹性且用户体验更佳的应用。这个概念等同于具有可扩展性的自动化系统,在简单的商业化架构上运行软件。应用快速开发的需求影响到了全部公司,以及如何看待历来业务安排的方式。那么微服务是如何演变的呢?请看下文分析
    的头像 发表于 02-07 16:25 3136次阅读

    为什么微服务实施那么难_综合解决微服务实施难点的措施

    本文组要概述了为什么微服务实施那么难,以及综合解决微服务实施难点的措施。
    的头像 发表于 02-07 16:38 5512次阅读

    微服务架构与实践摘要

    本文主要类容是对微服务架构与实践摘要解析。微服务架构中的 “微” 体现了其核心要素,即服务的微型化,就是每个服务微小到只需专注做好一件事。这件事紧密围绕业务领域,形成高度内聚的自治性。
    的头像 发表于 02-07 16:57 5469次阅读
    <b>微服务</b>架构与实践摘要

    微服务五大关键好处揭秘

    在过去40 年里,软件开发的世界日新月异,微服务日趋流行。本文为我们揭示了微服务的五大关键好处,看它们是如何帮助我们提升软件质量并适应新的业务需求。
    的头像 发表于 02-09 08:39 1.1w次阅读
    <b>微服务</b>五大关键好处揭秘

    微服务优缺点解析

    微服务不是一个名字,而是一个架构的概念。微服务架构是对原来的大型系统而言的,通过横向或者纵向、业务或者架构切分,将一个大型的系统分散成很多微型小系统。当系统复杂到一定程度时,几十号人共同维护一个系统的效率很低,而且出问题的风险也很高。
    的头像 发表于 02-09 09:01 7738次阅读
    <b>微服务</b>优缺点解析

    微服务可靠性设计

    微服务化之后,系统分布式部署,传统单个流程的本地API调用被拆分成多个微服务之间的跨网络调用,由于引入了网络通信、序列化和反序列化等操作,系统发生故障的概率提高了很多。微服务故障,有些是由于业务自身
    的头像 发表于 02-09 09:21 3409次阅读
    <b>微服务</b>可靠性设计

    java微服务架构有哪些

    本文首先简单介绍了微服务的概念以及使用微服务所能带来的优势,然后结合实例介绍了几个常见的Java微服务框架。微服务在开发领域的应用越来越广泛,因为开发人员致力于创建更大、更复杂的应用程序,而这些应用程序作为微小服务的组合能够更好地得以开发和管理。
    的头像 发表于 02-09 10:34 7907次阅读
    java<b>微服务</b>架构有哪些

    微服务和分布式的区别

    本文全面概述了微服务和分布式的区别。分布式和微服的架构很相似,只是部署的方式不一样而已。分布式:分散压力。微服务:分散能力。
    的头像 发表于 02-09 10:52 8w次阅读
    <b>微服务</b>和分布式的区别

    微服务优势_微服务架构的好处与不足

    微服务是用一组小服务的方式来构建一个应用,服务独立运行在不同的进程中,服务之间通过轻量的通讯机制(如RESTful接口)来交互,并且服务可以通过自动化部署方式独立部署。正因为微服务架构中,服务之间
    发表于 02-23 11:24 3951次阅读

    微服务架构与实践基础篇

    微服务架构中,应用程序由多个服务组成,每个服务都是高度自治的独立业务实体,可以运行在独立的进程中,不同的服务能非常容易地部署到不同的主机上。
    的头像 发表于 04-10 14:23 3764次阅读
    <b>微服务</b>架构与实践基础篇

    GE微服务发展工业互联网的策略解析

    微服务组件是工业互联网平台的核心资产,也是国内外各大主流工业互联网平台的重点建设方向之一。Predix平台以业务为导向,为满足不同场景下解决方案的快速定制,为合作伙伴和用户提供了丰富的微服务组件资源。
    发表于 08-16 10:52 2042次阅读

    什么是微服务和容器?微服务和容器的作用是什么

    微服务是将应用程序拆分为多个服务的一种架构类型,这些服务具备构成整个应用程序的细粒度功能。每个微服务将具备针对您的应用程序的不同逻辑功能。与应用程序的所有组件和功能都在单个实例中的单体架构相比,微服务是应用程序架构领域一种更为现代的方法。您可以参考下图中单体架构与微服务架构的
    的头像 发表于 01-13 10:54 2.9w次阅读
    什么是<b>微服务</b>和容器?<b>微服务</b>和容器的作用是什么

    微服务和容器之间的有何关系?

    现在一提到微服务,有很多人会想到容器技术(这里说到的容器技术是指docker)。那么微服务和容器之间到底有什么关系呢,我来简要和大家探讨下。先抛出结论:微服务和容器其实没有半毛钱关系。微服务理念出现的比容器技术要早很多,其理念是在70年代提出的。
    的头像 发表于 02-01 01:58 5318次阅读

    基于API 网关微服务治理方案

    在API网关层实现这些安全机制,不但提高安全性,也简化了应用服务的开发。使开发人员专注于业务应用、业务服务的研发,不再考虑基础能力基础组件,提升开发部署的效率,从而提升收益率。
    的头像 发表于 02-01 01:05 4659次阅读
    基于API <b>网关</b>的<b>微服务</b>治理方案

    什么是微服务架构_微服务架构的优缺点及应用

    什么是微服务架构 简单地说,微服务是系统架构上的一种设计风格, 它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的RESTful API进行通信协作。
    的头像 发表于 06-02 10:03 1.6w次阅读
    什么是<b>微服务</b>架构_<b>微服务</b>架构的优缺点及应用

    华为SSD的历史变革

    我们都知道华为有的麒麟、凌霄等各种处理器芯片,但是你知道华为的SSD固态硬盘吗?由于仅限企业级应用,华为SSD非常低调,很多人根本不晓得华为还有这一套,其实牛着呢。
    的头像 发表于 06-20 09:46 2474次阅读

    微服务使用失败的原因有什么

    在过去的几年中,我已经完成了对处于数字化转型过程中的多个产品团队的架构审查。 大多数团队都在按照微服务架构构建产品。 他们有使用基于微服务的体系结构的所有正确意图-更快的开发,更好的可伸缩性,更小的独立团队,独立的部署,使用正确的技术来完成工作,等等。
    的头像 发表于 05-03 18:00 2840次阅读

    SOA架构和微服务架构的主要区别

    SOA和微服务架构一个层面的东西,而对于ESB和微服务网关是一个层面的东西,一个谈到是架构风格和方法,一个谈的是实现工具或组件。SOA架构和微服务架构有什么区别?
    的头像 发表于 05-04 14:11 4721次阅读
    SOA架构和<b>微服务</b>架构的主要区别

    通过微服务原理、领域驱动设计概念等来成功实现微服务

    组织通过微服务基本准则、领域驱动的设计概念和编码优秀实践成功地使用微服务,可以充分利用Kubernetes/容器原生的优势。
    的头像 发表于 08-14 10:02 1496次阅读

    这几个要素将帮助DevOps团队确定适合其特定情况的服务网

    服务网格是近年来火热的技术之一,并且格局在不断变化中。可选择的服务网格选项也不少。但总要根据自己的需求来进行选择,本文会提到一些要素,来帮助DevOps团队确定最适合其特定情况的服务网格。
    的头像 发表于 08-26 15:20 1660次阅读
    这几个要素将帮助DevOps团队确定适合其特定情况的<b>服务网</b>格

    9种主流的用以支撑微服务开发的服务网格框架及应用场景

    哪种服务网格最适合你的企业?近年来,Kubernetes服务网格框架数量增加迅速,使得这成为一个棘手的问题。
    的头像 发表于 10-21 16:01 2656次阅读

    服务网格对数据中心网络的特点和重要性

    微服务类型的应用程序依靠快速,可靠的网络基础结构来快速可靠地做出响应,并且服务网格可以成为强大的推动者。
    的头像 发表于 11-01 11:51 1521次阅读

    腾讯发布首款GPU服务

    12月20日,腾讯云发布了星星海首款GPU服务器,在性能、能效、安全特性、可靠性等层面进行了大胆的自主创新和突破。
    的头像 发表于 12-22 09:30 2039次阅读

    微服务架构有哪些_微服务架构设计模式

    小伙伴们知道常用的微服务架构框架有哪些吗?上回我们介绍了一些常用的微服务架构设计模式,这次我们就来了解一下一些常用的微服务架构框架吧。
    的头像 发表于 05-17 17:06 2.3w次阅读
    <b>微服务</b>架构有哪些_<b>微服务</b>架构设计模式

    微服务架构的特点_微服务架构适用场景

     微服务架构是一项在云中部署应用和服务的新技术。
    的头像 发表于 05-17 17:28 3556次阅读

    华为小米投资+并举

    在智能计算领域,不仅是服务器芯片,华为提供5大芯片支持万物互联、万物感知的世界。包括基于ARM处理器芯片的Kunpeng处理器、基于华为的达芬奇架构的昇腾处理器、智能管理芯片Hi710、智能SSD控制芯片Hi1812、智能融合网络芯片Hi1822。
    的头像 发表于 05-18 10:29 1794次阅读

    什么是微服务和分布式 微服务和分布式之间区别

    微服务是啥? 这里不引用书本上的复杂概论了,简单来说微服务就是很小的服务,小到一个服务只对应一个单一的功能,只做一件事。这个服务可以单独部署运行,服务之间可以通过RPC来相互交互,每个微服务都是由
    的头像 发表于 07-30 18:21 2.4w次阅读

    服务厂商掀起芯片潮,Arm成为首选

    在近期举办的云栖大会上,阿里巴巴正式发布了旗下平头哥的“倚天710”芯片。至此,全球靠前的云服务厂商中,近半都开发出或投入了芯片的开发,更关键的是,他们无一例外地都选择了Arm作为芯片架构。
    的头像 发表于 10-22 09:41 2139次阅读

    服务厂商掀起芯片潮 Arm将成为首选

    电子发烧友网报道(文/周凯扬)在近期举办的云栖大会上,阿里巴巴正式发布了旗下平头哥的“倚天710”芯片。至此,全球靠前的云服务厂商中,近半都开发出或投入了芯片的开发,更关键的是,他们无一例外
    的头像 发表于 10-27 09:46 1683次阅读

    使用FastAPI构建机器学习微服务

    使用微服务架构部署应用程序有几个优点:更容易进行主系统集成、更简单的测试和可重用的代码组件。 FastAPI 最近已成为 Python 中用于开发微服务的最流行的 web 框架之一。 FastAPI
    的头像 发表于 10-10 16:44 747次阅读
    使用FastAPI构建机器学习<b>微服务</b>

    Spring Cloud Gateway服务网关的部署与使用详细教程

    一、为什么需要服务网关: 1、什么是服务网关: 2、服务网关的基本功能: 3、流量网关服务网关的区别: 二、服务网关的部署: 1、主流网关的对比与选型: 2、Spring Cloud
    的头像 发表于 10-11 17:46 601次阅读

    用Spring Cloud Alibaba做了一个微服务架构的项目

    目前该项目有7个微服务,因为我只有一台阿里云的服务器(2C 4G),所以我只能把所有的微服务部署在一台服务器上,部署方式是使用docker制作springboot的fat jar镜像,每个微服务在不加任何JVM调优参数的情况下所占内存约500M,由于是微服务所以肯定还要部署
    的头像 发表于 10-12 10:44 601次阅读

    如何使用Gateway搭建网关服务及实现动态路由?

    网关作为请求统一入口,路由就相当于是每个业务系统的入口,通过路由规则则可以匹配到对应微服务的入口,将请求命中到对应的业务系统中
    的头像 发表于 11-15 10:12 643次阅读

    微服务架构简介和优势

    微服务是小型的独立服务,可以独立演进并单独部署,以支持持续集成和持续交付。微服务架构促进开发和部署由独立、自主、模块化、包含单元组成的应用程序或一组功能。每个单位都被分配给拥有它的团队进行改进。采用微服务后,团队可以快速发布较新版本的应用程序或功能,而不会中断解决方案的其余部分。
    的头像 发表于 11-30 15:41 511次阅读
    <b>微服务</b>架构简介和优势

    实施微服务架构:用于构建下一代云应用程序

      外部接口是用户/应用程序与微服务交互的入口。实现 API 网关,为来自客户端的所有服务请求启用单个入口点。API 网关将对请求进行身份验证,并将代理/路由到实际服务。API 网关为受保护的端点
    的头像 发表于 12-08 16:51 243次阅读

    王者荣耀为什么不使用微服务架构?

    微服务为了把业务完美拆解,把原来的同一个进程里的模块拆分成不同的服务,显著增加额外的网络开销。更别说什么service mesh,各种gateway,proxy,sidecar,简直就是担心延迟太低。
    的头像 发表于 12-12 15:46 146次阅读

    微服务架构技术栈选型解读

    一、微服务治理中心框架 Apache Dubbo分布式RPC框架 Spring Cloud Alibaba分布式应用服务开发一站式解决方案 Spring Cloud微服务开发和治理框架 Spring
    的头像 发表于 12-29 14:35 414次阅读

    华为云微服务引擎0停机迁移Nacos?它是这样做的

    华为云微服务引擎| 0停机迁移Nacos? “它”是这样做的 迁移云环境****场景 • 微服务规模小,使用微服务引擎CSE成本太高。 • dubbo/Nacos微服务架构改造
    的头像 发表于 12-29 20:01 168次阅读

    如何利用Gateway搭建网关服务

    网关作为微服务中非常重要的一部分,是必须要掌握的;本文记录一下我是如何使用Gateway搭建网关服务及实现动态路由的,帮助大家学习如何快速搭建一个网关服务,了解路由相关配置,鉴权的流程及业务处理,有兴趣的一定看到最后,非常适合没接触过网关服务的同学
    的头像 发表于 01-21 16:06 399次阅读
    如何利用Gateway搭建<b>网关</b><b>服务</b>?

    微服务循环依赖调用引发的血案

    顺着测试汇报的出现问题的场景,跟踪调用链上相关服务的日志,发现出现了微服务之间循依赖调用。大致情况可以抽象如下所示(图中所有调用都是 http 协议)
    的头像 发表于 01-16 10:28 147次阅读

    华为云服务治理 | 微服务常见故障模式

    服务治理定义 服务治理通常是指通过限流、熔断等手段,保障微服务的可靠运行,即运行时治理。更加宽泛的服务治理还包括微服务持续集成(开源软件管理、自动化测试等),微服务部署最佳实践(滚动升级、灰度发布等
    的头像 发表于 01-18 17:44 129次阅读

    网关系统的基本概念及常见网关对比

    服务端的各个服务直接暴露给客户端调用势必会引起各种问题。同时,服务端的各个服务可扩展和伸缩性很差。API 网关微服务架构中的基础组件,位于接入层之下和业务服务层之上,如前所述的这些功能适合在 API 网关实现。
    发表于 01-29 14:35 355次阅读

    微服务架构中的服务之间如何互相调用呢?

    微服务架构中,需要调用很多服务才能完成一项功能。服务之间如何互相调用就变成微服务架构中的一个关键问题。
    的头像 发表于 01-31 09:46 675次阅读

    让远程成为本地,微服务后端开发的福音

    如果我们想与其他微服务进行联动调试,则需要在本地环境中启动对应的微服务模块,这可能需要大量的配置和构建时间,同时也会占用我们本地很多资源,可能还会出现”带不动“的情况。
    的头像 发表于 02-09 11:12 369次阅读

    什么是微服务架构?

    在Medium,我们的技术堆栈始于2012年的单片Node.js应用程序。我们已经构建了几个卫星服务,但我们还没有制定一个系统地采用微服务架构的策略。随着系统变得越来越复杂并且团队不断发展,我们在2018年初转向了微服务架构。在这篇文章中,我们希望分享我们有效地做到这一点并避免微服务综合症的经验。
    的头像 发表于 02-24 11:15 218次阅读
    什么是<b>微服务</b>架构?

    谷歌Arm服务器芯片提上日程

    服务器芯片,对于谷歌的服务器租赁业务来说是势在必行,目的是降低运营数据中心成本,并与其云计算业务竞争对手亚马逊保持同步。
    发表于 02-27 11:36 169次阅读

    服务器芯片或许没有那么大优势

    芯片的主力军。   芯片能省下多少钱?   早在芯片产业有布局,或者以收购来掌握芯片设计实力的云服务厂商,几乎都选择了服务器芯片这条路线,比如亚马逊、谷歌、阿里巴巴等等。芯片的范围也从网络芯片到通用计
    的头像 发表于 04-06 01:57 828次阅读
    <b>自</b><b>研</b><b>服务</b>器芯片或许没有那么大优势

    分布式政企应用如何快速实现云原生的微服务架构改造

    在以往的文章《云原生微服务治理技术朝无代理架构的演进之路》中,我们介绍了几种微服务架构模式,如下图所示。
    的头像 发表于 04-12 11:04 39次阅读
    分布式政企应用如何快速实现云原生的<b>微服务</b>架构改造

    微服务为什么要用到API网关

    微服务架构(通常简称为微服务)是指开发应用所用的一种架构形式。通过微服务,可将大型应用分解成多个独立的组件,其中每个组件都有各自的责任领域。
    的头像 发表于 04-14 09:17 19次阅读

    为通讯蓝牙网关web在线测试工具正式发布

    网关的指令操作逻辑,方便用户快速上手测试蓝牙网关数据收发的功能。功能简介1、跟为通讯提供的MQTT消息服务器形成配套的测试环境,网关配网即可测试;2、添加网关设备
    的头像 发表于 03-28 15:04 0次阅读
    <b>研</b>为通讯蓝牙<b>网关</b>web在线测试工具正式发布

    下载硬声App