我们先从 Nginx 说起,了解为什么需要微服务。最初的服务化解决方案是给相同服务提供一个统一的域名,然后服务调用者向这个域发送 HTTP 请求,由 Nginx 负责请求的分发和跳转。这种架构存在很多问题:Nginx 作为中间层,在配置文件中耦合了服务调用的逻辑,这削弱了微服务的完整性,也使得 Nginx 在一定程度上变成了一个重量级的 ESB。图 1 标识出了 Nginx 的转发信息流走向。图
有的开发团队使用dubbo原因是因为dubbo性能比feign高代码地址出自图灵学院 我做完作业 自己整理了一下https://gitee.com/zjj19941/ZJJ
原创
2022-07-04 10:55:19
98阅读
分页处理,这是做JavaWeb项目中常见的场景。背景:系统架构:SpringCloud分布式持久层:MyBatis前端:前后分离vue.js/bootstrap等.后台提供restful api 接口,前端访问后端接口展示数据。2种方式提供分页处理方案:一、直接MyBatis数据库进行分页controller接口@ApiImplicitParams({ @ApiImplici
【1】什么是Spring CloudSpring Cloud是一个分布式的整体解决方案。Spring Cloud 为开发者提供了在分布式系统(配置管理,服务发现
原创
2022-06-11 00:02:45
232阅读
前言现在SpringCloud Alibaba 十分热门, dubbo作为阿里的招牌微服务相关的框架,自然整合进入了SpringCloud了. 我找了下官网发现如下的maven依赖.<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-st
l文件如下<project xmlns="http://maven.ap...
原创
精选
2023-05-29 15:09:00
290阅读
前言在当下微服务架构比较火热时,新一代微服务解决方案Spring Cloud Alibaba提供的开源分布式事务解决框架Seata无疑成为了我们在解决分布式事务时的首要之选,前面两篇文章分别介绍了常见的分布式解决方案和成熟的框架以及关于Seata概念的入门介绍,没有过分布式事务处理的小伙伴可以先有个大致的入门了解:SpringCloud Alibaba微服务架构(十一)- 常见分布式事务解决方案及
springboot配置远程redis在云服务器上配置redisredis进行下载安装进行redis的配置配置redis 的启动,将其设为服务。在springboot的项目中对于redis进行相关的配置读取配置文件中的配置:RedisConfig建立redis的连接池工厂RedisPoolFactory建立redis的服务RedisService 在云服务器上配置redisredis进行下载安装
转载
2023-08-30 16:29:53
73阅读
学了springcloud如何操作数据库进行增删改查,又学了springcloud如何操作reids把数据存储到redis。今天结合数据库操作和reids操作,来看看如何使用SpringCache。SpringCache提供了基于注解的缓存配置方法。它本质上不是一个具体的缓存实现方案(例如EHCache),而是一个对缓存使用的抽象和封装,通过在已有代码中打上几个预定义的注释,就可以实现希望达到的缓
1. 介绍项目中的一些单表的增删改查功能,逻辑简单,但是在创建service、mapper、xml的过程很耗费时间。我们可以通过整合mybatis-plus和mybatis-plus-generator来处理这些问题,说明:mybatis-plus只是给我们提供一种便捷的操作,节约了写简单sql的时间,但其自身还是支持原生sql的。对于一些逻辑复杂或者多表操作或者动态sql,建议写原生sql。本文
我们的服务原来有一批单机的配置,由于同一 key 的配置太长,于是将其配置为数组的形式,并使用 Spring Boot 的 @ConfigurationProperties 和 @Value 注解来解析为 Bean 属性。properties 文件配置像:test.config.elements[0]=value1
test.config.elements[
一、前言在以前的博客中,小编使用过spring cloud stream 结合rabbitmq,rabbitmq是自己搭建的,没有用阿里云的。这次结合前面的博客,小编要使用阿里云的kafka,所以就想通过spring cloud stream kafka,来完成调用。但是这样就有一些配置不太一样了。通过对比阿里云的kafka的github网站,找到了相关的demo。这里小编总结一些。二、sprin
1.概述 Zipkin 是一个分布式追踪系统。它有助于收集解决服务架构中的延迟问题所需的时间数据。功能包括收集和查找此数据。 如果您在日志文件中有跟踪 ID,则可以直接跳转到它。否则,您可以根据服务、操作名称、标
docker安装elk整合springcloud安装elasticsearch安装kibana安装logstash 使用docker安装elasticsearch、kibana、logstash来集合成elk整合进cloud,你也可以用docker安装elk整个的镜像,我这里是分别安装的三个,我还要用es做搜索索引 安装elasticsearch去docker官网https://hub.doc
前言原先项目都是用springMVC加dubbo做的分布式服务,最近有空研究了一下springCloud集成dubbo的过程,因为阿里巴巴前几个月已经官方提供了对应springBoot的dubbo-starter,所以我们可以直接引入依赖即可。1、基于springBoot 2.0.1.RELEASE 版本 (需要注意这个不再支持jdk1.7了) 2、基于springCloud Finchley.
前段时间 Hystrix 宣布不再维护之后,Feign 作为一个跟 Hystrix 强依赖的组件,必然会有所担心后续的使用。作为 Spring Cloud Alibaba 体系中的熔断器 Sentinel,Sentinel 目前整合了 Feign,本文对整合过程做一次总结,欢迎大家讨论和使用。Feign 是什么?Feign 是一个 Java 实现的 Http 客户端,用于简化 Restful 调用
转载
2023-08-23 20:38:20
43阅读
网关就是做一下过滤或拦截操作 让我们的服务更加安全 用户访问我们服务的时候就要先通过网关 然后再由网关转发到我们的微服务1. 新建一个网关服务Module 2. 依然选择springboot工程 3. 老规矩起个名字 4. 勾选注册中心客户端 5. 勾选zuul网关模块 6. 编写配置文件server:
# 服务端口号
port: 8085
转载
2023-09-06 10:49:53
34阅读
说明:Sleuth用于服务调用链追踪,在log里埋点; Zipkin是一套分布式实时数据追踪系统,可以将Sleuth数据以大盘监控显示出来。 ELK(Elasticsearch + Logstash + Kibana):根据Trace ID搜索所有上下游Log。一、搭建Zipkin服务端:地址:http://localhost:9411/1.方式1(推荐),下载官方包zipkin-server-2
SpringCloud框架 针对这个架构图可以分层介绍一下:1、是web服务器的选型,这个我选择的是nginx+keepalived,haproxy也是一个选择,但是haproxy在反向代理处理跨域访问的时候问题很多。所以我们nginx有些地方做了keep-alive模式处理,减少了三次握手的次数,提高了连接效率。keepalived做nginx的负载,虚拟一个vip对外,两个nginx做高可用,
seata官方文档:https://seata.io/zh-cn/docs/overview/what-is-seata.htmlseata源码:https://github.com/seata/seata/releases官方文档只提供了dubbo的整合案例,本文提供springCloud + nacos 的整合案例seata-server 安装下载seata从github上下载1.4.2版本