随笔分类 - 软件架构
摘要:现在负载均衡是通用的解决分压的技术方案,实现方式一般分为服务端或者客户端,服务端大部分是使用中间件实现,spring cloud ribbon 是一个客户端负载均衡组件。跟spring cloud eureka、spring cloud feign 搭配的很默契,下一篇我们再讲解spring clo
阅读全文
摘要:Spring Cloud Eureka是spring cloud的核心组件,负责服务治理功能,起到中心枢纽作用,其它组件都依赖eureka来获取服务,然后再根据项目需求实现自己的业务,eureka在整个微服务架构中的位置绝对是核心地位。 (一) 版本说明 a) Spring boot 2.0.6.R
阅读全文
摘要:在当前的软件开发行业中,尤其是互联网,微服务是非常炽热的一个词语,市面上已经有一些成型的微服务框架来帮助开发者简化开发工作量,但spring cloud 绝对占有一席之地,不管你是否为java开发,大部分都应该听说过,因为他实现了微服务所必备的功能。 Spring cloud总体概览,这是我用了近3
阅读全文
摘要:
阅读全文

摘要:这篇文章是给公司设计的微服务基础架构,包括架构设计、部署流程、部署架构、开发Tip等等。这里分享出来,如果对看官们有点用,我就非常的高兴了。 2. 架构设计 3. 部署流程 4. 部署架构 5. 开发Tip 整个的设计文档我已经转成PDF,放在百度网盘,可以点击下载 这样spring cloud 基
阅读全文
摘要:这篇文章通过gitlab来实现项目的持续发布,衔接上一篇持续集成,主要介绍从开发提交代码到编译、打包、生成镜像的过程,我项目类型为java的spring cloud,所以以此来介绍,实现目标如下图所示。 (一) 环境要求 (二) 项目设置 这是gitlab ci 执行的脚本文件,根据需要,可以修改成
阅读全文
摘要:这篇文章通过gitlab来实现项目的持续集成,主要介绍从开发提交代码到编译、打包、生成镜像的过程,我项目类型为java的spring cloud,所以以此来介绍,实现目标如下图所示。 (一) 环境要求 (二) 项目设置 a) 添加Maven的docker插件,如下所示 b) 注意事项 i. 设置go
阅读全文
摘要:基础架构之Gitlab Runner也是常用的基础设施,我们接着GitLab操作,具体使用GitlabRunner,如果不熟悉可以见官方详细介绍https://docs.gitlab.com/runner,这篇文章主要介绍安装及项目使用。 (一) 环境要求 (二) 安装设置 a) 知道上篇文章,我们
阅读全文
摘要:Git几乎是软件开发人员的必备工具了,关于代码管理,公司都一般都会搭建自己的仓库,关于GitLab的详细介绍参见官方网站详见 https://about.gitlab.com,这篇文章主要介绍安装及使用。 (一) 环境要求 (二) 安装设置 a) 执行如下命令获取最新的镜像 待命令执行完成即可安装
阅读全文
摘要:由于项目要容器化,所有搭建自己的镜像库也是很有必要的,不然发到直接使用官方的镜像库,速度绝对能让你头疼,这篇文章就介绍搭建自己的镜像私有库。 (一) 环境要求 (二) 安装设置 a) 镜像获取前一篇文章基础架构之Maven私有库,用的镜像是同一个,这里,这里不再重复。 a) 跟Maven不同,Doc
阅读全文
摘要:Maven对于Java开发来说肯定不会陌生,由于各种问题,公司常常需要搭建自己的私有Maven仓库。 (一) 环境要求 (二) 安装设置 a) 直接输入下面命令,获取最新镜像 等命令执行完,可以用 查看是否下载完,主要包括镜像名字、版本、镜像ID、大小。 a) 首先要创建好镜像挂载的文件夹及权限,我
阅读全文
摘要:项目需求中,有些需求的数据是不必长时间持久化或一些非结构化设计,这时可以考虑用Mongo作为存储,具体介绍介绍详见官方 https://www.mongodb.com,这篇文章主要介绍安装及启用身份认证。 (一) 环境要求 (二) 安装设置 a) 这里我们获取最新的镜像,latest可以带可不带,默
阅读全文
摘要:最近在搭建公司的基础框架,业务需求用到elasticsearch,所以需要整合到基础框架里,供各业务线使用同时也便于管理,但在整合的过程中,出现了莫名的问题,同时maven的提示也不够明确。 我的版本信息为 spring boot 2.1.0.RELEASE,elasticsearch 6.3.1,
阅读全文
摘要:在编译spring boot 多模块项目的时候,往往出现 鄙视网上不经过实践,就东拼西凑的文章。
阅读全文
摘要:项目开发过程中,有些信息的变动频率是很低但又经常访问到,这些信息我们往往放在缓存中,目前在缓存组件中,Redis绝对值得你列入使用计划。更多详细信息可以参考官网 https://redis.io/。这篇文章主要是快速搭建及简单使用。 (一) 环境要求 (二) 安装设置 a) 首先执行 docker
阅读全文
摘要:项目中除了主流业务,往往带有很多附带功能,比如订单确认给客户发送邮件或者短信,流程审批完成给申请人发送审批完成消息,根据会员生日提前发生日问候 等等,这些功能一般都是以任务的形式存在,少量的任务还好,如果多了,一个集中管理任务的平台还是非常有必要的,xxl-job非常的优秀,是许雪里大神的作品,官方
阅读全文
摘要:随着项目的复杂度越来越高,微服务的盛行,各个中间件相互配合并发挥其优势,各种配置是避免不了的,以前尝试过配置放在文件,后来spring cloud 也推出了自己的spring cloud config 配置组件,功能上没有问题,但真正使用起来还是不顺手,顺势而为,携程开发部门开源了一套配置平台,官方
阅读全文
摘要:接上一篇,我们继续解释如何把ELK跟钉钉及发送邮件功能结合起来,让我们及时的了解重要日志并快速反馈。 运行命令转到kibana的bin目录 ,这里是默认安装路径,然后执行如下命令 ,这里根据服务器性能及网络环境,可能要等一会才能看到成功的信息,成功后会自动刷新kibana服务,再次打开kibana,
阅读全文
摘要:在现代化的软件开发流程中,日志显得非常的重要,不可能再零散的游离在各个项目中,等查看日志的时候再登录服务器去到特定的目录去查看,这显然很繁琐且效率低下,所有整合一套日志管理平台,也显得非常重要,这篇文章是日志管理平台搭建的第一篇,第二篇为告警及邮件通知 环境要求:CentOS Release: 7.
阅读全文
摘要:最近排查线上问题,无意中发现了Logger堵塞的情况,排查的同时也做下总结,做个笔记,以防备用。 先上图,看下实际堵塞的情况 从图中可以清楚的看到标黄的都在 waiting to lock <0x000000054011c380> 这个锁,这个锁被标红线程持有,如果标红的线程处理业务逻辑不够快,哪其
阅读全文