微服务项目流程--个人笔记

1. 创建注册中心register

启动类要加上@SpringBootApplication(是Sprnig Boot项目的核心注解,目的是开启自动配置)

@EnableEurekaServer(可以将@EnableEurekaServer 这个注解看作是一个开关,开启时,会激活相关配置,会作为注册中心。)

2. 创建配置中心,然后注册到注册中心里

启动类要加上@EnableDiscoveryClient(将微服务注册到服务发现组件上,能够让注册中心能够发现,扫描到改服务。)

@EnableConfigServer(在spring cloud项目中,都会配置一个配置中心去管理各个服务的配置文件,而往往配置文件不会放到本地配置中心,一般都会放到git上,配置中心从远程git读取配置文件)

3. 创建缓存模块

创建缓存模块也需要注册到配置中心
并且启动的时候需要从gitee获取yml文件,文件里有rabbitmq和redis启动ip,当启动缓存服务的时候
这两个服务也一起启动了

然后开始写serice层,要加注解@Service
创建一个service写上缓存中可能需要用到的各种集合的增删查改,比如set get delete等等

【
    我们发现我们的接口返回的数据格式各不相同,有的可能没有数据,有的可能就一个数字,一个字符串,有的可能是复杂的数据格式
于是我们想办法进行抽取,将一致的数据进行封装,将不一致的数据向上查找共性进行抽取

比如我们约定所有的接口都有错误码和错误描述信息字段,但是呢有的接口 有数据,有的没有,所以我们可以封装一个对象,里面只包含错误码和描述信息
让后再写一个对象继承并添加数据,数据的格式不一致,但是都是object,但是也要注意,表示相同意思的字段名应该保持一致。

】

impl实现继承service并重写service的方法

然后写controller层,要加上注解@RestController(返回json数据需要@ResponseBody和@Controller配合,而@RestController就是他俩的组合;controller层就是调用增删改查的方法并加以修饰的,比如我改成功了,我会告诉客户什么信息等等

(我们学Java的知道,Java是一门面向对象的语言。无论在Java中出现什么,都可以认为它是对象(除了八大基本数据类型。当然了,八大基本数据类型也能装箱成为对象):
而Object就是这些对象的最高级别的,所有的Java对象都隐式地继承了Object对象(不用显式写extends继承)
所有的Java对象都拥有Object默认的方法。)


 

4. Feign远程调用服务

导入依赖
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

启动类添加注解
@EnableFeignClients

在需要的接口上添加
@FeignClient("需要远程调用的已经注册到注册中心的服务的名称")

5. 如何把一个对象转成map

把对象转成json然后转成map

.readValue方法和writeValueAsString


objectMapper.readValue(objectMapper.writeValueAsString(对象),map.class)

6. 网关

网关需要做什么?
    网关是作为开放平台的统一入口,所有的开放数据的服务都需要通过网关来进行调用,每个接口
可能需要一些自己的信息,每个接口可能需要不同的费用标准,有的收费有的免费,有的接口可能需要
认证,有的不需要,有的接口可能只在某个时间段开放,过了时间之后就关闭了,随着项目的发展,
我们会上线新的接口,下线一些接口,都是随机的,我们开放的接口越来越多,那么有没有办法进行统一的
映射呢?不能有1w个服务就有1w个反向代理的地址吧?
    网关和缓存进行交互,各个地址是多少?难道需要人跑过去问问吗?接口文档怎么写?

7. 缓存中如何提供接口文档?可以提供一个在线的文档,swagger(接口文档的作用是把服务的地址暴露出去)


        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
    </dependencies>


在启动类添加注解
@EnableSwagger2

然后需要做一些设置

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大学生参加学科竞赛有着诸多好处,不仅有助于个人综合素质的提升,还能为未来职业发展奠定良好基础。以下是一些分析: 首先,学科竞赛是提高专业知识和技能水平的有效途径。通过参与竞赛,学生不仅能够深入学习相关专业知识,还能够接触到最新的科研成果和技术发展趋势。这有助于拓展学生的学科视野,使其对专业领域有更深刻的理解。在竞赛过程中,学生通常需要解决实际问题,这锻炼了他们独立思考和解决问题的能力。 其次,学科竞赛培养了学生的团队合作精神。许多竞赛项目需要团队协作来完成,这促使学生学会有效地与他人合作、协调分工。在团队合作中,学生们能够学到如何有效沟通、共同制定目标和分工合作,这对于日后进入职场具有重要意义。 此外,学科竞赛是提高学生综合能力的一种途径。竞赛项目通常会涉及到理论知识、实际操作和创新思维等多个方面,要求参赛者具备全面的素质。在竞赛过程中,学生不仅需要展现自己的专业知识,还需要具备创新意识和解决问题的能力。这种全面的综合能力培养对于未来从事各类职业都具有积极作用。 此外,学科竞赛可以为学生提供展示自我、树立信心的机会。通过比赛的舞台,学生有机会展现自己在专业领域的优势,得到他人的认可和赞誉。这对于培养学生的自信心和自我价值感非常重要,有助于他们更加积极主动地投入学习和未来的职业生涯。 最后,学科竞赛对于个人职业发展具有积极的助推作用。在竞赛中脱颖而出的学生通常能够引起企业、研究机构等用人单位的关注。获得竞赛奖项不仅可以作为个人履历的亮点,还可以为进入理想的工作岗位提供有力的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值