随笔分类 - 微服务
摘要:一、概述 Nginx、OpenRestry、Kong这三个项目紧密相连: Nginx是模块化设计的反向代理软件,C语言开发; OpenResty是以Nginx为核心的Web开发平台,可以解析执行Lua脚本; Kong是一个OpenResty应用,一个api gateway。 OpenResty与Lu
阅读全文
摘要:配置覆盖 可以使用Skywalking提供的配置覆盖功能通过启动命令动态指定服务名,这样agent只需要部署一份即可。Skywalking支持的几种配置方式: 系统配置(System properties) 使用 skywalking. + 配置文件中的配置名作为系统配置项来进行覆盖.为什么需要添加
阅读全文
摘要:自从 Google Dapper 的论文发布之后,各大互联网公司和开源社区开发的分布式链路追踪产品百花齐放,同时也给使用者带来了一个问题,各个分布式链路追踪产品的 API 并不兼容,如果用户在各个产品之间进行切换,成本非常高。 而 OpenTracing 就完美的解决了这个问题,OpenTracin
阅读全文
摘要:Rpc 调用监控 Skywalking(6.5.0) 支持的Rpc框架有以下几种: Dubbo 2.5.4 → 2.6.0 Dubbox 2.8.4 Apache Dubbo 2.7.0 Motan 0.2.x → 1.1.0 gRPC 1.x Apache ServiceComb Java Cha
阅读全文
摘要:随着互联网时代的发展,很多企业为了快速响应业务的变化,开始使用微服务架构。微服务架构的系统常常被切分为多个独立的子系统并以集群的方式部署在数十甚至成百上千的机器上。 虽然微服务架构带来更大的灵活性、更高的开发效率等等一系列好处,但是同样也面临着很多问题。为掌握系统的运行状态,确保系统正常对外提供服务
阅读全文
摘要:1.tomcat整合skywalking的使用 先修改apache-skywalking-apm-bin/agent/config下的agent.config,给tomcat一个名字 在tomcat的catalina.sh中首行添加 CATALINA_OPTS="$CATALINA_OPTS -ja
阅读全文
摘要:1.Skywalking概述1.1 什么是APM系统1.1.1 APM系统概述APM (Application Performance Management) 即应用性能管理系统,是对企业系统即时监控以实现对应用程序性能管理和故障管理的系统化的解决方案。应用性能管理,主要指对企业的关键业务应用进行监
阅读全文
摘要:服务发现数据模型Nacos在经过阿里内部多年生产经验后提炼出的数据模型,则是一种服务-集群-实例的三层模型,这样基本可以满足服务在所有场景下的数据存储和管理。 命名空间(Namespace) 用于进行租户粒度的配置隔离,命名空间不仅适用于nacos的配置管理,同样适用于服务发现。Namespace
阅读全文
摘要:什么是服务发现 在微服务架构中,整个系统会按职责能力划分为多个服务,通过服务之间协作来实现业务目标。这样在我们的代码中免不了要进行服务间的远程调用,服务的消费方要调用服务的生产方,为了完成一次请求,消费方需要知道服务生产方的网络位置(IP地址和端口号)。我们的代码可以通过读取配置文件的方式读取服务生
阅读全文
摘要:从单体架构到微服务 单体架构Web应用程序发展的早期,大部分web工程师将所有的功能模块打包到一起并放在一个web容器中运行,所有功能模块使用同一个数据库,同时,它还提供API或者UI访问的web模块等。 尽管也是模块化逻辑,但是最终它还是会打包并部署为单体式应用,这种将所有功能都部署在一个web容
阅读全文
摘要:1 Nacos配置管理模型 对于Nacos配置管理,通过Namespace、group、Data ID能够定位到一个配置集。 配置集(Data ID) 在系统中,一个配置文件通常就是一个配置集,一个配置集可以包含了系统的各种配置信息,例如,一个配置集可能包含了数据源、线程池、日志级别等配置项。每个配
阅读全文
摘要:1. 什么是配置中心1.1 什么是配置应用程序在启动和运行的时候往往需要读取一些配置信息,配置基本上伴随着应用程序的整个生命周期,比如:数据库连接参数、启动参数等。配置主要有以下几个特点: 配置是独立于程序的只读变量 配置对于程序是只读的,程序通过读取配置来改变自己的行为,但是程序不应该去改变配置
阅读全文
摘要:消息分组通常在生产环境,我们的每个服务都不会以单节点的方式运行在生产环境,当同一个服务启动多个实例的时候,这些实例都会绑定到同一个消息通道的目标主题(Topic)上。默认情况下,当生产者发出一条消息到绑定通道上,这条消息会产生多个副本被每个消费者实例接收和处理,但是有些业务场景之下,我们希望生产者产
阅读全文
摘要:在实际的企业开发中,消息中间件是至关重要的组件之一。消息中间件主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。不同的中间件其实现方式,内部结构是不一样的。如常见的RabbitMQ和Kafka,由于这两个消息中间件的架构上的不同,像RabbitMQ有exchan
阅读全文
摘要:查询原因,由于是docker启动的,去看一下日志 [root@192 ~]# docker logs -f -t --tail 200f 2507f04de615 2020-02-11T05:07:36.413491428Z MySQL host: rm-bp1y5jh79h6b3eh9clo.my
阅读全文
摘要:微服务架构下的问题在大型系统的微服务化构建中,一个系统会被拆分成许多模块。这些模块负责不同的功能,组合成系统,最终可以提供丰富的功能。在这种架构中,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几
阅读全文
摘要:Spring Cloud Gateway除了具备请求路由功能之外,也支持对请求的过滤。通过Zuul网关类似,也是通过过滤器的形式来实现的。那么接下来我们一起来研究一下Gateway中的过滤器3.3.1 过滤器基础(1) 过滤器的生命周期Spring Cloud Gateway 的 Filter 的生
阅读全文
摘要:Gateway简介简介Spring Cloud Gateway 是 Spring 官方基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,旨在为微服务架构提供一种简单而有效的统一的 API 路由管理方式,统一访问接口。SpringClou
阅读全文
摘要:********************************************************** Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway at this time
阅读全文
摘要:在 Zuul中, 整个请求的过程是这样的,首先将请求给zuulservlet处理,zuulservlet中有一个zuulRunner对象,该对象中初始化了RequestContext:作为存储整个请求的一些数据,并被所有的zuulfilter共享。zuulRunner中还有 FilterProces
阅读全文