微服务架构的优点:
1.边界清晰,开发简单;
2.技术栈灵活;
3.松耦合;
4.可用性高;
5.按需扩展;
微服务架构缺点:
1.运维难度大;
2.代码依赖变成了接口依赖;
3.分布式带来的复杂性:网络延迟,网络故障,服务的容错性,需要进行消息序列化
微服务架构原理:
至少有一个服务方,一个调用方和一个服务注册中心方。
服务方先将服务注册到服务注册中心;
调用方去服务注册中心查询服务,找到对应的服务方;
调用方调用对应的服务方;
一、创建一个服务注册中心。
我在这里使用的是idea工具:
File-->new------>project,选择Spring Initializr,点击next进行下一步
按照自己的文件格式,创建对应的文件路径以及文件名,然后点击next:
输入Eureka,选择第一个组件进行添加,点击next:
点击finish完成.
项目整体架构如下:
找到SpringBoot服务启动中心,添加注册服务注解包,将该工程变成注册服务:
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@EnableEurekaServer //服务注册中心注解包
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
配置服务注册的路径地址以及一些基本参数,在application.properties文件中进行配置:
#服务注册地址
eureka.instance.hostname=localhost
#服务注册端口号
server.port=9090
#禁止自己当做服务注册
eureka.client.register-with-eureka=false
#屏蔽注册信息
eureka.client.fetch-registry=false
#服务访问地址
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka
查看服务是否配置成功:
进入启动类,启动项目。
默认创建的jdk版本为11,会报错:Error:java: 无效的目标发行版: 11
修改File--->Settings--->java compiler,将java版本改为1.8.
将启动类启动后访问地址,查看服务:
出现上图页面说明服务注册中心搭建成功,红框中表示还未有服务提供方进行服务注册。
喜欢的小伙伴不妨关注一下,下一篇我将会带你们学习如何搭建服务方和调用方