一个简单可用的Nginx负载均衡配置文件

记录一下,一个简单可用的Nginx负载均衡配置文件。 本地测试是可以用的。 本地环境: 开启了三个本地服务: 127.0.0.1:8082; 127.0.0.1:8083; 127.0.0.1:8084; 每个服务器,提供两个测试接口: 以127.0.0.1:8082服务为例: http://localhost:8082/ # index http://localhost:8082/user?us … 继续阅读

一个Restufl URI模式匹配以及替换Demo

使用场景 网关的路由编排,权限管理,URL白名单等场景下,都可能需要判断给定的URL是否符合匹配某个模式。 URI Template Patterns 模式匹配 Spring 提供了一个很好用的工具类:org.springframework.web.util.UriTemplate, Representation of a URI template that can be expanded wit … 继续阅读

Springboot 使用 Micrometer 集成 Prometheus 监控 Java 应用性能

Springboot 使用 Micrometer 集成 Prometheus 监控 Java 应用性能 Micrometer Micrometer 为 Java 平台上的性能数据收集提供了一个通用的 API,它提供了多种度量指标类型(Timers、Guauges、Counters等),同时支持接入不同的监控系统,例如 Influxdb、Graphite、Prometheus 等。我们可以通过 Mi … 继续阅读

zuul动态网关

Zuul网关 Zuul 是Netflix 提供的一个开源组件,致力于在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。 gateway最终也会部署多个实例,达到分布式的效果。 动态路由 动态路由需要达到可持久化配置,动态刷新的效果。如架构图所示,不仅要能满足从spring的配置文件properties加载路由信息,还需要从数据库加载我们的配置。另外一点是,路由信息在容器启动时就已经加载进入 … 继续阅读

分布式ID生成方案汇总

分布式ID的特性 唯一性:确保生成的ID是全网唯一的。 有序递增性:确保生成的ID是对于某个用户或者业务是按一定的数字有序递增的。 高可用性:确保任何时候都能正确的生成ID。 带时间:ID里面包含时间,一眼扫过去就知道哪天的交易。 分布式ID的生成方案 1. UUID 算法的核心思想是结合机器的网卡、当地时间、一个随记数来生成UUID。 优点:本地生成,生成简单,性能好,没有高可用风险 缺点:长度 … 继续阅读

spring cloud的组件

最近想梳理一下公司的整个系统的设计,以及各个spring cloud组件的交互和协同工作过程和原理。也想自己从头构建一个新的微服务系统。于是,从头到尾,梳理了一遍。 常见微服务组件 注册和发现服务 Eureka: Eureka是Netflix开发的服务发现框架 Zookeep、etcd、Consul 配置中心 spring cloud config、ctrip Apollo ctrip Apoll … 继续阅读