1. SprignCloud之快速搭建一个简单的微服务工程

1. SprignCloud之快速搭建一个简单的微服务工程,第1张

springcloud 工程是基于 springboot 工程的。所以我们的父工程的pom直接继承spring-boot-starter-parent,让所有的子工程也作为springboot项目。

然后指定spring-cloud的依赖版本统一为Finchley.RELEASE,这样子工程在引入springcloud相关包的时候就不用特意指定版本了。

我们选择 eureka 作为注册中心。

新建一个子工程,指定parent为刚才我们建立的父工程

Eureka 服务端启动器导入

Eureka 服务端 完整pom文件:

application.properties 配置文件

启动类

新建一个子工程 订单服务,实际上是eureka的客户端。

同样指定parent为刚才我们建立的父工程

引入eureka客户端的pom依赖,以及web包,用来与eureka-server端进行通信。

订单服务完整pom文件:

bootstrap.properties配置文件

启动类

新建一个子工程 订单服务,实际上是eureka的客户端。

同样指定parent为刚才我们建立的父工程

引入eureka客户端的pom依赖,以及web包,用来与eureka-server端进行通信。

用户服务完整pom文件:

bootstrap.properties

启动类

先启动注册中心 eureka服务端工程, 然后启动两个eureka客户端:订单服务和用户服务,看看这两个服务是否都注册到注册中心了。

当订单服务和用户服务 启动注册成功时, 会发现eureka服务端 会有 注册服务实例成功的日志。

查看eureka的 监控页面 http://127.0.0.1:9001/ ,可以看到 服务列表里已经 有 订单服务和用户服务了。

当订单服务 和 用户服务都成功注册 到 注册中心之后,那么 这两个服务 都会定时的从注册中心拉取服务列表, 用于调用。

我们让 订单服务 作为服务提供者,让用户服务调用,测试一下能否调用成功。

模拟 返回某个用户的订单信息

浏览器 调用 用户服务的 /user/orderList接口:

可以看到已经成功通过用户服务的/user/ordeeList接口 调用到了订单服务的/order/list 接口。

以下内容均来源于一个微服务初学者的实践,仅供参考。

首先启动 Spring Cloud Eureka 注册中心,其他部分都作为服务注册到 Eureka ,并通过注册的服务名互相访问。Spring Cloud Config 提供统一的配置信息,供其他服务读取。Provider 生产者服务不直接对外暴露,仅供 Consumer 消费者服务调用。用户通过 Spring Cloud Gateway 统一访问消费者服务。

首先创建一个空 Maven 项目,然后右键项目 ->New Module ,选择继续创建空 Maven 模块或者使用 Spring Initializr 构建 Spring Cloud 模块。common模块用于存放公共的 lib ,如 dao 、model 、util 等。config-dev 存放配置文件,上传到 git 之后供 Spring Cloud Config 读取。

除了少数像 Spring Cloud Config 、Spring Cloud Gateway 这种独立应用,大部分非空模块都需要添加 spring-boot-starter-web 构建 Web 应用。下图是使用 IDEA 的 Spring Initializr 快速构建新模块。

下面贴上详细的配置文件和注解,bootstrap.yml 具有高优先级,会提前加载并且不会被 application.yml 覆盖,spring.cloud.config 需要配置在 bootstrap.yml 中,否则不能正常从配置中心获取配置信息。

application.yml

HobbyEurekaApplication.java

application.yml

application-dev.yml

HobbyConfigApplication.java

bootstrap.yml

config-dev/gateway.yml

HobbyGatewayApplication.java

在 Spring Cloud Gateway 的配置中已经展示过如何从 config-dev 配置仓库中读取配置文件。spring.cloud.config 和 eureka.client 都已经在 bootstrap.yml 中配置过,接下来不做赘述。多模块项目中扫描其他模块的 mybatis 文件需要做额外的配置。

application.yml

HobbyProviderTestApplication.java

消费者调用生产者可以使用 Feign 声明式服务调用。

HobbyConsumerTestApplication.java

TestFeignService.java

TestServiceImpl.java

Spring Cloud Eureka >> Spring Cloud Config >> Spring Cloud Gateway >>其他服务

微服务架构能够将各种服务解耦,单独部署,配合 devops 才能展现出真正的威力,否则运维的工作会苦不堪言。gitlab 目前已经集成了 devops 功能,只要在项目中添加 .gitlab-ci.yml ,push 到 Gitlab 之后就会自动执行配置的命令,这里简单介绍一下 gitlab 的安装部署。

CentOS7 自带的 Git 版本号是 1.8.3.1 ,需要更新,否则 Gitlab Runner 在进行自动构建的时候会报错 fatal: git fetch-pack: expected shallow list ,更新步骤如下:

Gitlab 安装官方文档

Gitlab Runner 安装官方文档

配置文件的地址 /etc/gitlab/gitlab.rb

修改配置文件的操作:

常用配置:

老左从使用虚拟主机到VPS服务器,至今也用过不少的商家产品,比如在"TOP10美国虚拟主机/网站空间推荐"有分享目前和曾经使用的虚拟主机产品,对于老左的广大网友群中,VPS主机的需求者也是随着建站的需要用户越来越多,下面老左也根据自己曾经和现在用到的国外和国内VPS主机产品整理分享。同样的,下面的VPS主机是老左亲自使用有超过1年以上的产品(只能代表老左使用过,网友选择请搜索相关评论和优惠后再斟酌)。

2021年各大云服务商竞争尤为激烈,但是我们用户而言应该是有利的,这样成本更低,选择空间更大。但是,如果我们是建站用途或者是稳定项目的,不要太过于追求便宜,更需要追求稳定和服务。不同的商家有不同的特点,而且任何商家和线路不可能一直稳定,我们需要做的就是定期观察和数据定期备份。

友情提醒:以下是老左介绍的常用国内、国外VPS主机、服务器均为主机产品,并非用于不良用途的工具,所有的主机均需用于正规的建站以及其他正规用途。

国外篇(排名不分先后根据使用前后排序)

第一、VULTR服务商

数据中心:日本、洛杉矶、英国、法国、德国、荷兰、澳大利亚等17个机房

商家特点:提供多机房且可以随意删除开通 多IP且便宜

简单介绍:Vultr作为全球最大的游戏主机提供商背景之一,上线之后以高质的性价比、16个数据中心,以及新注册账户赠送5美金的账户使用金优惠促销,吸引广大的用户。作为我们用户,日本、洛杉矶等数据中心速度较好,如果有需要海外其他机房也可以在其16个数据中心中选择到适合自己的。

VULTR官方网站登录

备注说明:目前VULTR商家限制较为严格,一个支付方式只能开一个账户,多开账户容易导致被封。

第二、RAKSmart服务商

数据中心:美国、韩国、香港、日本等

商家特点:提供站群服务器、高防服务器和高至10G带宽不限流量、以及便宜VPS

简单介绍:海外华人主机商,有提供独立服务器、VPS主机等业务,商家在国内的业务主机还是独立服务器,拥有站群服务器、CN2服务器,以及新增圣何塞CN2线路的VPS主机,有Windows和Linux系统,支持中文和支付宝。

RAKSmart官方网站登录

本月推荐:7月RAKsmart独立服务器和站群服务器多款促销 G口不限量更低

第三、GigsGigsCloud

数据中心:香港、新加坡、美国

商家特点:提供香港、新加坡、美国CN2机房VPS和服务器

简单介绍:GigsGigsCloud商家早年口碑并不是太好,但是最近一两年一直在寻求改变,在容易我们中国消费者的元素,有提供较大带宽的香港、新加坡直连机房主机。其中我们可以看到CLOUDLET K和CLOUDLET V香港机房适合我们需要亚洲机房VPS主机需求用户,其中带宽也是比较大的。如果我们有看到"No China Direct Rout"表示并非直连优化线路。

GIGSGIGSCLOUD官方网站登录

第四、SugarHosts

数据中心:洛杉矶、香港

商家特点:提供香港、美国CN2云服务器

简单介绍:提供Sata和SSD两种硬盘VPS,且有WINDOWS VPS方案,洛杉矶MC数据中心对国内线路优化过,平均PING在160左右,支持支付宝付款,有中文客服,如果是需要稳定建站的,这款机器还是不错的。2016年10月新增香港SSD VPS,月付最低47.5元+50元带宽起步。

SugarHosts官方网站登录

第五、Megalayer

数据中心:香港、菲律宾、美国

商家特点:提供香港、新加坡、美国等机房优化线路CN2 VPS和服务器

简单介绍:Megalayer 是一家新晋云服务器和独立服务器商家,数据中心包含香港、美国、菲律宾,产品方案包括VPS、独立服务器、站群服务器,尤其是香港VPS和服务器有CN2优化线路,适合有需要速度要求的建站和其他业务。

Megalayer官方网站登录

国内篇(国内云主机商)

第一、腾讯云

数据中心:广州、北京、上海、香港、新加坡等

商家特点:国内优秀服务商且拥有香港等亚洲机房

简单介绍:腾讯云服务器CVM肯定也不会示弱,别人有的产品他们肯定也必须有,腾讯云服务器用户也比较多,相对而言价格比阿里云便宜,也有国内、国外多个机房。

腾讯云服务商官方网站

PS:腾讯云十周年活动正式开启,如果我们有需要云产品的,可以开始采购。(点击这里查看活动)

第二、阿里云

数据中心:青岛、杭州、北京、香港、深圳、香港、美国等

简单介绍:如果准备使用国内的云VPS主机,阿里云VPS产品的品牌地位、稳定性、速度还是比较好的,但我们的网站是需要备/案才可以,但是如果你准备长久的稳定的使用,国内VPS还是值得选择。全民云计算每个账户可以申请一个优惠云服务器,年付330元,三年800元,有香港、新加坡等机房。

阿里云服务商官方网站

选择建议:阿里云活动:阿里云服务器常规促销活动集合 ,香港服务器年119元,大陆服务器三年229元。

第三、景安快云

数据中心:郑州

套餐价格:1024M 1核心 70GB硬盘 49元/月

简单介绍:景安快云VPS、服务器虽然背景不如阿里云和腾讯云,但是其商家在国内还算是做的比较大的,尤其是配置上和促销活动比较多,经常有一些买一年送一年,或者半价活动。本月的活动是三年快云VPS或者服务器享受五折优惠,比如快云基础VPS三年仅需800元。

景安快云服务商官方

第四、UCloud优刻得

数据中心:中国香港、中国大陆等多个机房

套餐价格:1G1M1C 香港服务器年150元

简单介绍:UCloud商家一直走企业路线的,这几年也开始转向个人消费者,推出一系列的活动。如果我们有需要香港服务器的,可以参加目前在进行的活动,香港服务器年付150元,三年450元,适合新注册用户首次订单优惠。

UCLOUD限时新人活动

第五、华为云

数据中心:中国香港、中国大陆等多个机房

简单介绍:我们熟悉的华为商家也有发布云服务器等云产品,以前一直做企业用户的,目前也有做个人用户,经常也有促销活动年付最低82元服务器,目前华为云服务器国内机房不强制备案接入,只要有备案号的都是可以使用的。

华为云服务商限时活动

VPS选择和使用总结

便宜VPS主机我们可以用来学习、测试演练项目,也可以用来搭建网站,不管我们用哪款VPS,最好是定期备份数据,以免出现不测。相对而言,便宜VPS主机我们更加需要注意这些问题。任何商家,即便是老品牌的都有不稳定或者服务滞后的时候,我们需要时刻关注自身的产品,因为只有自己选择和体验才是最主要的,评论只能是参考。

PS:我们选择任何国内、国外VPS主机商,一定要正规使用,长时间占用CPU资源,以及不允许的SPAM等功能用途,会被商家禁止服务器甚至账户。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/13599.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-12
下一篇2023-02-12

发表评论

登录后才能评论

评论列表(0条)

    保存