
Spring cloud
文章平均质量分 75
studyday1
多总结,多思考,多批判,多学习
展开
-
【业务功能129】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere部署三高微服务项目-k8s集群-09微服务前端代理服务 Nginx部署
【代码】【业务功能129】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere部署三高微服务项目-k8s集群-微服务项目前端代理服务 Nginx部署。原创 2023-09-22 12:02:22 · 176 阅读 · 0 评论 -
【业务功能128】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere部署三高微服务项目-08部署微服务
该阶段设置了需要审批,切换admin用户进行通过即可。原创 2023-09-22 11:20:30 · 328 阅读 · 0 评论 -
【业务功能127】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere部署三高微服务项目-07数据库服务集群外连接-openelb
【代码】【业务功能126】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere部署三高微服务项目-07数据库服务集群外连接-openelb。原创 2023-09-22 10:30:01 · 141 阅读 · 0 评论 -
【业务功能125】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere部署三高微服务项目-05微服务部署文件Deploy
【代码】【业务功能125】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere部署三高微服务项目-05微服务部署文件Deploy。原创 2023-09-21 20:39:08 · 132 阅读 · 0 评论 -
【业务功能124】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere部署三高微服务项目-04微服务Dockerfile文件准备
EXPOSE: 该服务的端口号,也就是我们微服务中application.yml配置的端口,所以每个微服务的dockerfile 基本上就是端口号有区别,其他内容基本一致。-亦或者是dockerhub。原创 2023-09-21 20:14:51 · 78 阅读 · 0 评论 -
【业务功能123】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere部署三高微服务项目-03微服务应用配置文件
基于前面我们通过云原生K8s集群发布了项目中使用到的中间件服务,比如Mysql,Redis,ES,Nacos,RocketMQ等,那么我们项目中的配置文件,连接中间件的域名地址就需要进行修改,以及我们需要准备一个maven的settings.xm文件,进行后续的项目打包所需的文件找依赖。原创 2023-09-21 18:29:59 · 109 阅读 · 0 评论 -
【业务功能121】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere部署三高微服务项目-01部署微服务思路
项目准备动作:1.项目中使用到的中间件如Redis,Mysql,MQ,Nacos等地址节点切换成前面云原生KubeSpere部署的域名地址加端口进行访问,在yaml文件一一修改,或者其他文件用使用到链接中间件的地址需要连同一起修改2.在项目工程中,每个微服务的最外层目录,创建一个Dockerfile文件,发布容器镜像文件3.在项目工程最外层目录添加mvn_settings.xml文件,提高maven工作效率,并且后续流水线也需要用。原创 2023-09-21 18:02:32 · 148 阅读 · 0 评论 -
【业务功能122】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere部署三高微服务项目-02中间件部署
skip-name-resolve一定要加,不然连接mysql 会慢binlog-do-db :需要进行主从同步涉及到的业务数据库为master授权用户实现数据同步配置slaver同步master数据可以使用kubesphere快速完成MySQL部署。原创 2023-09-21 17:46:04 · 102 阅读 · 0 评论 -
【业务功能120】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere集成本地容器镜像仓库 Harbor
在使用本地容器镜像仓库Harbor之前,需要创建密钥文件。原创 2023-09-21 16:00:10 · 239 阅读 · 0 评论 -
【业务功能119】微服务-springcloud-springboot-Kubernetes集群-k8s集群- KubeSphere中集成ApiSix-Prometheus
Apache APISIX 网关可用之后其实是缺少像原生集群或项目网关这样自带的状态监控能力的,但这个我们也可以通过 Apache APISIX 的 Prometheus 插件以及 KubeSphere 自带的自定义监控能力来弥补。下面我们在项目左侧菜单列表中找到「监控告警」中的「自定义监控」,开始「创建」自定义监控面板。在弹出窗口中填入「名称」,选择「自定义」监控模版,并进入「下一步」的监控面板创建。进入编辑页面后现在左侧点击。原创 2023-09-21 15:27:00 · 589 阅读 · 0 评论 -
【业务功能118】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere-OpenELB部署及应用
网址: openelb.ioOpenELB 是一个开源的云原生负载均衡器实现,可以在基于裸金属服务器、边缘以及虚拟化的 Kubernetes 环境中使用 LoadBalancer 类型的 Service 对外暴露服务。OpenELB 项目最初由 KubeSphere 社区发起,目前已作为 CNCF 沙箱项目加入 CNCF 基金会,由 OpenELB 开源社区维护与支持。与 MetalLB 类似,OpenELB 也拥有两种主要工作模式:Layer2 模式和 BGP 模式。原创 2023-09-18 21:29:46 · 1927 阅读 · 1 评论 -
【业务功能117】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere-公共服务 Harbor镜像仓库
使用阿里云开源软件镜像站。原创 2023-09-16 17:53:34 · 147 阅读 · 0 评论 -
【业务功能116】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere-公共服务 DNS
【代码】【业务功能116】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere-公共服务 DNS。原创 2023-09-16 17:46:10 · 680 阅读 · 0 评论 -
【业务功能115】微服务-springcloud-springboot-Kubernetes-k8s集群-Kubesphere实现DevOps流水线-CI/CD-SonarQube- Jenkins
持续集成是指软件个人的部分向软件整体部分交付,频繁进行集成以便更快地发现其中错误。全面的自动化测试这是实践持续集成&持续部署的基础,同时,选择合适的自动化测试工具也很重要灵活的基础设施容器、虚拟机的存在让开发人员和QA人员不必再大费周张去做IT基础设施环境的准备版本控制工具如:Git、SNV、Gitlab等自动化的构建和软件发布流程工具如:Jenkins Gitlab Tekton等反馈机制如果构建/测试失败,可以快速地反馈到相关负责人,以尽快速度解决问题,实现软件开发稳定版本推出。原创 2023-09-16 17:39:07 · 1743 阅读 · 0 评论 -
【业务功能114】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere发布应用WordPress
WordPress(使用 PHP 语言编写)是免费、开源的内容管理系统,用户可以使用 WordPress 搭建自己的网站,大多数博客网站都是基于它实现。完整的 WordPress 应用程序包括以下 Kubernetes 对象,由 MySQL 作为后端数据库。原创 2023-09-16 15:01:37 · 550 阅读 · 0 评论 -
【业务功能113】微服务-springcloud-springboot-Kubernetes集群-kubesphere多租户管理系统应用-创建DevOps- Kubesphere开启devops功能
KubeSphere 的多租户系统分层级,即集群、企业空间和项目。您需要创建一个新的企业空间进行操作,而不是使用系统企业空间,系统企业空间中运行着系统资源,绝大部分仅供查看。出于安全考虑,强烈建议给不同的租户授予不同的权限在企业空间中进行协作。可以在一个 KubeSphere 集群中创建多个企业空间,每个企业空间下可以创建多个项目。原创 2023-09-16 12:31:22 · 539 阅读 · 0 评论 -
【业务功能111】微服务-springcloud-springboot-Kubernetes集群-PaaS云平台Kubesphere部署-NFS持久存储-开启devops功能
在安装之前,需要配置kubernetes上的默认存储类型。原创 2023-09-13 20:38:28 · 285 阅读 · 0 评论 -
【业务功能110】微服务-springcloud-springboot-Kubernetes集群部署-kubeadm极速部署-Docker安装
3.虚拟机是由 配置文件 + 硬盘 组成, 那么我们接下来的三台虚拟机部署,就直接用前面的虚拟机模板中的硬盘,来创建(在前面指定的安装目录下 后缀是vmdk的就是磁盘文件),因为系统都已经安装好在硬盘,所以利用模板去安装剩余的三台真实要使用的虚拟机,就很快了,减少重复的安装步骤。4.分别创建三个文件夹,存放三个虚拟机,将前面模板机的vmdk磁盘文件都放到三个文件夹中,然后继续进行三次安装虚拟机操作,只是其中的 磁盘选项步骤,就是选择现有的对应目录下的模板机的磁盘。所有集群主机均需要进行配置。原创 2023-09-13 20:35:43 · 599 阅读 · 0 评论 -
【业务功能109】微服务-springcloud-springboot-Skywalking-链路追踪-监控
Skywalking是由国内开源爱好者吴晟开源并提交到Apache孵化器的产品,它同时吸收了Zipkin /Pinpoint /CAT 的设计思路。特点是:支持多种插件,UI功能较强,支持非侵入式埋点。目前使用厂商最多,版本更新较快。数据存储支持:Elasticsearch、MySQL、H2、TiDB。默认是H2,而且是存到内存。实际我们一般将其存到ES。主页:http://skywalking.apache.org/原创 2023-09-13 14:39:21 · 1978 阅读 · 0 评论 -
【业务功能篇108】CDN Nginx
总的来说,CDN和Nginx都可以用于提高静态资源的访问效率,但它们有不同的用途和优势。通常,大型网站可能会同时使用CDN和Nginx来最大程度地提高性能和可用性。CDN用于分发全球静态资源,而Nginx用于缓存和加速内容传输,以及为后端服务器提供反向代理和负载均衡功能。原创 2023-09-12 20:41:59 · 411 阅读 · 0 评论 -
【业务功能107】微服务-springcloud-springboot-Sentinel容器安装-熔断降级限流
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。2012 年,Sentinel 诞生,主要功能为入口流量控制。2013-2017 年,Sentinel 在阿里巴巴集团内部迅速发展,成为基础技术模块,覆盖了所有的核心场景。Sentinel 也因此积累了大量的流量归整场景以及生产实践。2018 年,Sentinel 开源,并持续演进。原创 2023-09-12 20:15:17 · 635 阅读 · 0 评论 -
【业务功能篇106】 微服务-springcloud-springboot-电商订单模块--秒杀服务-定时任务【下篇】
秒杀活动必须是在登录状态下进行的,如果没有认证就不让秒杀。当然我们一般是把用户信息存在reids缓存,所以redis依赖也是要引入的。按钮后,对应我们需要把当前的商品信息提交到后端服务。通过拦截器处理:在秒杀活动中并不是所有的请求都是需要在登录状态下的,所有这个拦截器应该只需要拦截部分的请求。秒杀成功后给RocketMQ发送消息,订单服务订阅消息,实现异步下单,从而降低了对秒杀系统的影响。校验的内容有四块:时效性,随机码是否合法,是否满足限购条件,还有幂等性。前端提交的秒杀请求,在后端具体的处理。原创 2023-09-11 17:58:21 · 231 阅读 · 0 评论 -
【业务功能篇105】 微服务-springcloud-springboot-电商订单模块--秒杀服务-定时任务【上篇】
秒杀活动的结构图0 * * * *?每1分钟触发一次0 0 * * *?每天每1小时触发一次0 0 10 * *?每天10点触发一次0 * 14 * *?在每天下午2点到下午2:59期间的每1分钟触发0 30 9 1 *?每月1号上午9点半每月15日上午10:15触发每隔5秒执行一次每隔1分钟执行一次每天5-15点整点触发每三分钟触发一次0 0 0 1 *?每月1号凌晨执行一次。原创 2023-09-11 17:53:14 · 568 阅读 · 0 评论 -
【业务功能篇104】 补充【业务功能篇99】微服务-springcloud-springboot-电商订单模块--整合支付
在前面我们,我们介绍了电商项目中的订单模块服务,那么最后就是需要进行支付动作,那么我们这里就通过订阅第三方平台支付宝的支付调用接口功能,来进一步完成订单提交后的支付动作,支付宝的接口使用可以登录官网开发指南详情去了解。原创 2023-09-11 17:47:19 · 402 阅读 · 0 评论 -
【业务功能101】微服务-springcloud- 分布式事务-本地事务ACID-隔离级别-传播属性-CAP定理-BASE定理-分布式事务解决方案2PC/TCC/seata-RocketMQ
我们在分布式环境下一个业务可能会涉及到多个模块之间的调用,为了保证操作的原子性,分布式事务是最好的解决方案。原创 2023-09-07 11:47:02 · 702 阅读 · 0 评论 -
【业务功能100】补充代码【业务功能88】微服务-springcloud-分布式锁-redis-redisson-springcache
然后基于分布式集群,需要结合本地锁(synchronized )与分布式锁(redissonClient.getLock(“catelog2JSON-lock”)),避免多次重复访问数据库。原先从mysql数据库查询的效率较低,现在将部分固定数据展示比如页面的树形栏目信息等,存储到。与业务逻辑解耦,使用更方便。原创 2023-09-07 10:57:50 · 493 阅读 · 0 评论 -
【业务功能篇99】微服务-springcloud-springboot-电商订单模块-生成订单服务-锁定库存
如果下订单操作成功(订单数据和订单项数据)我们就会操作锁库存的行为。一个是需要生成订单信息一个是需要生成订单项信息。没有库存或者锁定库存失败我们通过自定义的异常抛出。锁定库存的操作,需要操作ware仓储服务。锁定库存失败通过抛异常来使订单操作回滚。原创 2023-09-06 10:45:33 · 1018 阅读 · 0 评论 -
【业务功能篇98】微服务-springcloud-springboot-电商订单模块-接口幂等性处理-订单提交防重检查-Fegin调用远程服务的时候会出现请求Header丢失的问题及解决方案
我们需要把相关的静态资源拷贝到nginx,然后动态模板文件拷贝到order项目的templates目录下,然后调整资源的路径。在网关中设置对应的路由即可。原创 2023-09-06 10:43:57 · 337 阅读 · 0 评论 -
【业务功能篇97】微服务-springcloud-springboot-电商购物车模块-获取当前登录用户的购物车信息
我们需要先创建一个cart的微服务,然后添加相关的依赖,设置配置,放开注解。原创 2023-09-04 20:03:32 · 1209 阅读 · 0 评论 -
【业务功能篇96】微服务-springcloud-springboot-认证服务-登录注册功能-Auth2.0-分布式session
通过最基础的登录操作来完成登录处理登录页面处理认证服务的处理会员中心的认证逻辑service中的具体认证处理。原创 2023-09-04 15:17:05 · 2203 阅读 · 1 评论 -
【业务功能篇94】微服务-springcloud-springboot-认证服务-注册功能-第三方短信验证API
结合我们前面介绍的商城的架构我们需要单独的搭建一个认证服务。原创 2023-09-02 13:30:56 · 662 阅读 · 0 评论 -
【业务功能篇93】微服务-springcloud-多线程-异步处理-异步编排-CompletableFutrue-实战运用
根据业务分析:3.4.5数据接口的入参信息需要来源于1数据接口的返回信息,也就是skuid 所以可以设计 1 3 4 5 串行线程 ,而 3 4 5依赖1 ,需要等1 执行完成。这样处理后,原本5个接口 假如每个接口都需要2s,那么一共就是要10s了,现在就是缩减了,因为1与2接口是并行执行,而3 4 5。所以就是 1 2 接口数据是并行执行 而3 4 5与1 是串行执行 进行异步编排设计,提高接口访问效率。2接口数据没有关系,所以就与上面的线程是并行关系。原创 2023-09-01 10:05:53 · 959 阅读 · 0 评论 -
【业务功能篇92】微服务-springcloud-多线程-异步处理-异步编排-CompletableFutrue
Future是Java 5添加的类,用来描述一个异步计算的结果。你可以使用isDone方法检查计算是否完成,或者使用get阻塞住调用线程,直到计算完成返回结果,你也可以使用cancel方法停止任务的执行。虽然Future以及相关使用方法提供了异步执行任务的能力,但是对于结果的获取却是很不方便,只能通过阻塞或者轮询的方式得到任务的结果。阻塞的方式显然和我们的异步编程的初衷相违背,轮询的方式又会耗费无谓的CPU资源,而且也不能及时地得到计算结果,为什么不能用观察者设计模式当计算结果完成及时通知监听者呢?原创 2023-08-31 19:46:52 · 1410 阅读 · 0 评论 -
【业务功能篇91】微服务-springcloud-多线程-线程池执行顺序
继承Thread对象和实现Runnable接口没有办法获取返回结果的,实现Callable接口可以获取线程的返回结果。当然这三种方式都不能控制我们的资源,线程池可以控制资源。上面的三种获取线程的方法是直接获取,没有对线程做相关的管理,这时可以通过线程池来更加高效的管理线程对象。线程池创建,准备好core数量的核心线程,准备接收任务。然后我们就可以通过这个线程池对象来获取对应的线程。通过上面的介绍我们发现获取线程的方式。原创 2023-08-31 19:44:04 · 1713 阅读 · 0 评论 -
【业务功能篇90】微服务-springcloud-检索服务-ElasticSearch实战运用-DSL语句
商品检索页面我们放在search服务中处理,首页我们需要在mall-search服务中支持Thymeleaf。添加对应的依赖原创 2023-08-30 19:41:16 · 1620 阅读 · 0 评论 -
【业务功能89】补充【业务功能88】:微服务-springcloud-分布式锁-springcache- @CacheEvict
【代码】【业务功能89】补充【业务功能88】:微服务-springcloud-分布式锁-springcache- @CacheEvict。原创 2023-08-30 11:01:52 · 115 阅读 · 0 评论 -
【业务功能88】微服务-springcloud-分布式锁-redis-redisson-可重入锁-读写锁-闭锁-信号量-缓存数据一致性问题-双写模式-失效模式-springcache
分布式锁或者本地锁的本质其实是一样的,都是将并行的操作转换为了串行的操作。原创 2023-08-30 10:04:26 · 632 阅读 · 0 评论 -
【业务功能篇87】微服务-springcloud-本地缓存-redis-分布式缓存-缓存穿透-雪崩-击穿
缓存的作用是减低对数据源的访问频率。从而提高我们系统的性能。缓存的流程图。原创 2023-08-28 19:57:39 · 1075 阅读 · 2 评论 -
【业务功能篇86】微服务-springcloud-系统性能压力测试-jmeter-性能优化-JVM参数调优-Nginx实现动静分离
压力测试是给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷,是通过搭建与实际环境相似的测试环境,通过测试程序在同一时间内或某一段时间内,向系统发送预期数量的交易请求、测试系统在不同压力情况下的效率状况,以及系统可以承受的压力情况。然后做针对性的测试与分析,找到影响系统性能的瓶颈,评估系统在实际使用环境下的效率情况,评价系统性能以及判断是否需要对应用系统进行优化处理或结构调整。并对系统资源进行优化。原创 2023-08-28 16:05:41 · 2571 阅读 · 0 评论 -
【业务功能篇85】微服务-springcloud-Nginx-反向代理-网关
Nginx域名。原创 2023-08-27 11:31:00 · 1819 阅读 · 0 评论