SpringCloud微服务–什么是微服务,如何启动一个微服务

一、什么是微服务、不用他到底能不能行/h2>

首先你会得到一个肯定的答案:不用他也能行,也能完成最基础的软件工程开发。
据老师所言,微服务的好与坏在许多程序员的口中都展现了不同的状态,打的不可开交。抱着一颗学习的心态去冲就完事,毕竟大佬大家,小白遭殃,我们不知道之后的软件开发场景是否会被微服务所替代,毕竟设计人员很喜欢他,也不知道之后是否还会被其他框架所代替,毕竟程序员会嫌他烦,废话少说我们进入正题

  • Spring Cloud是目前最流行的进行微服务架构的框架之一,是一个一站式的开发分布式系统的框架,为开发者提供了一系列的构建分布式系统的工具集。目前已经在各大互联 公司得到广泛应用,是进行微服务架构的优先选择工具,也是程序员进阶和架构师必备的技术。你可以把他简单理解成一个框架,向ORM那样,能够针对某种诉求,完成某种操作。

定义开起来确实枯燥无味,不妨听我讲一个日常生活中的业务场景,也许你就可以了解到他的强大之处了。

一个公司现在具备多套由不同公司或相同公司开发的系统,他们可以是员工管理系统、考勤管理系统、学习管理系统等等。这些系统是根据本公司的发展逐步增加出来的,也就是说在一开始老板并不清楚我究竟需要哪些系统。当这些系统逐步开发出来之后,问题也就随之而来了。

  1. 我现在有多套系统,并且每个系统都配备了账 ,每个系统都是单独一个库。也就意味着用户需要频繁的注册账 然后写入密码,随着系统的不断增多,用户的体验效果会变得越来越不好,当然,如果说这些系统不存在相互之间的交互,每个人就单独使用一两个还能接受。如果许多数据都一样,为了增加用户体验感和效率,我们该怎么办。
  2. 就比如说员工管理系统,他详细的记录了每一个员工的信息,学习管理系统记录了每个人该学哪些部分,当公司老板想要去知道那些人该学的内容没学习,学习了多长时间的时候,我们会发现,如果说我不注册账 ,我就不学习,信息管理人员就要从两个系统中分别取出需要的部分,然后在整理。这样会大大降低效率,更有的人会说我们可以在考勤管理人员中提前建立好员工信息,这样不就可以了,那对于我们想满足此场景,我们是不是势必会造成大量的数据冗余。

以上两个简单的业务诉求是我们很常见的问题,两个系统之间的数据不能互相访问,产生了。
解决这样的问题其实有很多途径,比如:

  1. 对现有主题系统进行二次开发,将两个系统融合成一个系统。(如果系统少,还好说,如果该公司的系统非常多,那我们该怎么办,一次次的迭代显然不是明智的办法)
  2. 保留原有的系统,分别开放HTTP接口,让其他系统能够访问其他库。(如果说单纯的查询,那么没问题,很简单。如果说是进行了多库的增、删、改呢如当我在进行到第三个库时出错时,我们前两个库的数据是否还会被保存个操作算成功还是失败果是失败,是不是还需要在书写对应的补偿机制删除之前错误的插入)

显然,还有很多类似的场景没有举出,但已经能够陈述出微服务的优点了。Google也曾为了解决类似的问题,专门造出一个平台能够提供各种 络访问,实现最基本的安全验证。把系统上传到本平台上。开放端口,这样维护平台的安全性就可以了。saas,服务及软件。pass平台及服务(B2B租户的模式)也许就是这样的模式。

二、微服务常识(不全面,会慢慢更新)

  1. spring原生
  2. 阿里巴巴(个人觉得没有原生做的好,但封装了很多接口,大家可以积极尝试)
  3. 华为(大部分借鉴了原生,通信方面做的好,如果有通信要求,可以采用他)

服务发现:把服务名称注册出去。
服务 关,gatway 负载均衡
微服务安全
1.菜单可见性维护安全。
2.后端加安全拦截
? 1)看结构,如果部署服务 关上公 ,但是服务不上公 ,去拦截服务 关就行
? 2)服务都上公 。每一个服务的每一个接口都需要拦截。

三、启动一个微服务项目

  1. 创建Eureka服务
  • 创建标准boot工程,具体pom配置如下

或者直接在官 上创建一个springboot工程

  1. 向Eureka注册服务
  • 创建一个普通的spring boot工程,在pom中声明使用服务发现客户端。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年5月19日
下一篇 2021年5月19日

相关推荐