摘要: 项目进行微服化改造后系统发布就变得愈为重要,因为持续集成导致部署变得越来越频繁,人工部署带来的一些问题日渐凸显,大家可能都有被系统部署线问题困扰过的经历。 本篇我们将会使用Jenkins+Gitlab来实现程序的持续集成和自动化发布。 1.新建项目提交到GitLab 首先需要有一个GitLab仓库, 阅读全文
posted @ 2019-01-27 21:21 名字都被注册了 阅读(2503) 评论(0) 推荐(2) 编辑
摘要: 以下是运满满K8s容器化进程记录,摘抄一下,方便以后查阅。 背景介绍 运满满自开始微服务改造以来,线上线下已有数千个微服务的 Java 实例在运行中。这些 Java 实例部署在数百台云服务器或虚机上,除少数访问量较高的关键应用外,大部分实例均混合部署。 这些实例的管理,采用自研平台结合开源软件的方式 阅读全文
posted @ 2019-01-22 09:27 名字都被注册了 阅读(2581) 评论(0) 推荐(0) 编辑
摘要: 新建一个.NET Core控制台项目,NuGet引用Quartz引用。 Quartz接口说明: IScheduler :和调度器交互的主要接口 JobBuilder:定义 JobDetail 实例 IJobDetail:定义 Job 实例及其它相关的静态信息 IJob:自定义的作业模块所要继承的接口 阅读全文
posted @ 2019-01-19 19:27 名字都被注册了 阅读(652) 评论(1) 推荐(1) 编辑
摘要: 描述一下问题背景,公司部分项目还在使用老三层框架,存在跨库join的情况,在服务化的改造过程中,这些跨库join的老三层从都要被换成对应的服务接口。 目前有个项目通过sql访问了C端产品组的三张表,并且时跨库join,对方开发组要回收表的访问权,所有sql访问的都要改成接口访问。 C端产品组提供的服 阅读全文
posted @ 2019-01-07 23:15 名字都被注册了 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 在开始之前,我们先来回顾下业内对于微服务架构的定义。简单来说,微服务就是用一组小服务的方式来构建一个应用,服务独立运行在不同的进程中,服务之间通过轻量的通讯机制(如 RESTful 接口)来交互,并且服务可以通过自动化部署方式独立部署。 1.什么是服务发现,在微服务架构中,服务发现的作用是什么? 之 阅读全文
posted @ 2019-01-01 16:07 名字都被注册了 阅读(571) 评论(0) 推荐(1) 编辑
摘要: 最近加班有点多,一周五天,四天加班到11点+,心很累。原因是我当前在的这个组比较特殊,相当于业务的架构组,要为其它的开发组提供服务和监控。所以最近更新的也少,不过这个元旦三天假应该会更新三篇。 这篇是介绍一下商城的购物车,代码就不详细介绍了,因为技术点都已经再前面几篇介绍过了,无非就是产品的增删该查 阅读全文
posted @ 2018-12-30 18:24 名字都被注册了 阅读(1840) 评论(3) 推荐(2) 编辑
摘要: RabbitMQ是什么,怎么使用我就不介绍了,大家可以到园子里搜一下教程。本篇的重点在于实现服务与服务之间的异步通信。 首先说一下为什么要使用消息队列来实现服务通信:1.提高接口并发能力。 2.保证服务各方数据最终一致。 3.解耦。 使用消息队列通信的优点就是直接调用的缺点,比如在直接调用过程中发生 阅读全文
posted @ 2018-12-17 22:39 名字都被注册了 阅读(3183) 评论(7) 推荐(2) 编辑
摘要: 今天研究了下eShopOnContainers里的RabbitMQ的使用,在项目里是以封装成消息总线的方式使用的,但是仍然是以其发布、订阅两个方法作为基础封装的,我们今天就来实际使用一下。 为了简单起见,就在同一个API项目里实现发布订阅。 新建API项目 RabbitMQ_Bus_Test ,类库 阅读全文
posted @ 2018-12-09 13:58 名字都被注册了 阅读(1392) 评论(0) 推荐(0) 编辑
摘要: k8s通过liveness来探测微服务的存活性,判断什么时候该重启容器实现自愈。比如访问 Web 服务器时显示 500 内部错误,可能是系统超载,也可能是资源死锁,此时 httpd 进程并没有异常退出,在这种情况下重启容器可能是最直接最有效的解决方案。 k8s通过readiness来探测微服务的什么 阅读全文
posted @ 2018-12-02 23:31 名字都被注册了 阅读(1042) 评论(0) 推荐(1) 编辑
摘要: 首先我们需要知道:两个容器要能通信,必须要有属于同一个网络的网卡。 先来看下正常情况下我们的容器默认是否是能通信的,这里运行两个测试容器: docker run -it --name=bbox1 busybox docker run -it --name=bbox2 busybox 然后我们进入bb 阅读全文
posted @ 2018-12-01 16:59 名字都被注册了 阅读(1208) 评论(0) 推荐(0) 编辑