Liu · Blog

记录点滴,成就未来

0%

前言

因为直接使用Docker Swarm集群总是产生总总问题,所以还是采用Rancher管理工具来搭建集群

Docker Swarm遇到的问题:服务提供者注册到Nacos时,使用的是容器内部的ip地址,导致只能由同一台宿主机的消费者进行消费。在这之后试了很多种方法把注册的ip地址改成宿主机ip,可惜都没用,出各种问题,所以最后还是决定使用Rancher工具来搭建集群

附上第一版地址:(第一版)记录一次Jenkins + Docker实现持续集成、持续部署——门店掌柜项目

Rancher安装使用以及配置NFS部分参考:docker高级之——Docker-Compose、Docker-Swarm、Jakins持续集成、Rancher持续部署

阅读全文 »

前言

我的博客是采用hexo + next + git实现的,最开始用的是Github,但是碍于速度慢进而转至Gitee,不过随着文章以及图片的越来越多,突然有一天发现在push代码时总是提示服务器断开连接啥啥啥的··· 刚开始还不知道是什么原因,研究了好久才发现是Gitee限制比较多,一次性不能上传太多文件,最后无奈转回了Github。

转回Github之后又发现Jenkins拉取Gitee与Github的配置有些不同,正好之前没有记录Jenkins如何配置拉取Github,并且配置后出问题网上还没有什么好的解决方法,这次正好记录一下。

阅读全文 »

第一版已作废,仅参考使用,第二版地址:[(第二版)记录一次Jenkins + Docker + Rancher实现持续集成、持续部署–门店掌柜项目](/2022/08/17/(第二版)记录一次Jenkins + Docker + Rancher实现持续集成、持续部署–门店掌柜项目)

1. Jenkins环境安装

安装部分参考:docker高级之——Docker-Compose、Docker-Swarm、Jakins持续集成、Rancher持续部署

不同之处:

1
2
3
4
5
6
docker run -d --name jenkins \
-p 8888:8080 \
-p 50000:50000 \
--restart=always \
-v jenkins:/var/jenkins_home \
jenkins/jenkins:latest

1.2. Jenkins所需插件

  • Maven Integration: Maven 集成管理插件。
  • Docker plugin: Docker集成插件。
  • GitLab Plugin: GitLab集成插件。
  • Publish Over SSH:远程文件发布与SSH命令执行插件。
  • gitee:用于gitee提交时进行WebHooks触发任务
  • build timeout:用于设置任务超时时间,一般默认装了这个插件
阅读全文 »

xxl-Job分布式任务调度

1.概述

1.1 什么是任务调度

我们可以先思考一下业务场景的解决方案:

  • 某电商系统需要在每天上午10点,下午3点,晚上8点发放一批优惠券。
  • 某银行系统需要在信用卡到期还款日的前三天进行短信提醒。
  • 某财务系统需要在每天凌晨0:10结算前一天的财务数据,统计汇总。
  • 12306会根据车次的不同,设置某几个时间点进行分批放票。

以上业务场景的解决方案就是任务调度。

任务调度是指系统为了自动完成特定任务,在约定的特定时刻去执行任务的过程。有了任务调度即可解放更多的人力,而是由系统自动去执行任务。

如何实现任务调度?

  • 多线程方式,结合sleep
  • JDK提供的API,例如:Timer、ScheduledExecutor
  • 框架,例如Quartz ,它是一个功能强大的任务调度框架,可以满足更多更复杂的调度需求
  • spring task
阅读全文 »

Spring Cloud Stream是什么?

官网翻译:

Spring Cloud Stream是一个框架,用于构建与共享消息传递系统连接的高度可扩展的事件驱动型微服务

该框架提供了一个灵活的编程模型,该模型建立在已经建立并熟悉的Spring习惯用法和最佳实践的基础上,包括对持久性pub / sub语义,使用者组和有状态分区的支持。

网上看到的一句话理解: 屏蔽底层消息中间件的差异,降低切换成本,统一消息的编程模型

阅读全文 »

第一章 ShardingSphere

1、ShardingSphere简介

Apache ShardingSphere 是一套开源的分布式数据库解决方案组成的生态圈。

组成部分: JDBCProxySidecar(规划中)这 3 款既能够独立部署,又支持混合部署配合使用的产品组成。

功能特性:它们均提供标准化的数据水平扩展分布式事务分布式治理等功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。

官方网站:https://shardingsphere.apache.org/index_zh.html

文档地址:https://shardingsphere.apache.org/document/legacy/4.x/document/cn/overview/

本教程主要介绍:Sharding-JDBC和Sharding-Proxy

阅读全文 »

SpringCache概述

缓存的框架太多了,各有各的优势,比如Redis、Memcached、Guava、Caffeine等等。

如果我们的程序想要使用缓存,就要与这些框架耦合。聪明的架构师已经在利用接口来降低耦合了,利用面向对象的抽象和多态的特性,做到业务代码与具体的框架分离。

但我们仍然需要显式地在代码中去调用与缓存有关的接口和方法,在合适的时候插入数据到缓存里,在合适的时候从缓存中读取数据。想一想「AOP」的适用场景,这不就是天生就应该AOP去做的吗?

阅读全文 »