当前位置:   article > 正文

SpringCloud微服务(一)入门简单实例eureka注册中心【Server】和服务_springcloud注册中心 发现server实例

springcloud注册中心 发现server实例

 

目录

Spring Cloud概念简介

笔记

创建一个SpringBoot的Maven项目

在Maven项目中创建 SpringCloud-eureka-server项目

新建application.yml

添加@EnableEurekaServer标签

启动Server应用

在Maven工程创建springcloud-eureka-client

在项目启动加上@EnableDiscoveryClient注解

编写controller

启动客户端,查看服务端

将client单独看成一个服务,撰写service和controller,mapper

遇到的问题和解决方案 


Spring Cloud概念简介

  • Spring Cloud服务的注册与发现(Eureka)

Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。

  • Spring Cloud简介

Spring Cloud包含了多个子项目(针对分布式系统中涉及的多个不同开源产品),比如:Spring Cloud Config、Spring Cloud Netflix、Spring Cloud0 CloudFoundry、Spring Cloud AWS、Spring Cloud Security、Spring Cloud Commons、Spring Cloud Zookeeper、Spring Cloud CLI等项目。

  • 微服务架构

微服务(Microservices Architecture)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。

微服务的概念源于2014年3月Martin Fowler所写的章“Microservices”http://martinfowler.com/articles/microservices.html

  • 微服务架构(Microservices Architecture)

微服务架构的核心思想是,一个应用是由多个小的、相互独立的、微服务组成,这些服务运行在自己的进程中,开发和发布都没有依赖。不同服务通过一些轻量级交互机制来通信,例如 RPC、HTTP 等,服务可独立扩展伸缩,每个服务定义了明确的边界,不同的服务甚至可以采用不同的编程语言来实现,由独立的团队来维护。简单的来说,一个系统的不同模块转变成不同的服务!而且服务可以使用不同的技术加以实现!

  • 微服务设计

那我们在微服务中应该怎样设计呢。以下是微服务的设计指南:

  • 职责单一原则(Single Responsibility Principle):把某一个微服务的功能聚焦在特定业务或者有限的范围内会有助于敏捷开发和服务的发布。
  • 设计阶段就需要把业务范围进行界定。
  • 需要关心微服务的业务范围,而不是服务的数量和规模尽量小。数量和规模需要依照业务功能而定。
  • 于SOA不同,某个微服务的功能、操作和消息协议尽量简单。
  • 项目初期把服务的范围制定相对宽泛,随着深入,进一步重构服务,细分微服务是个很好的做法。
  1. 关于微服务架构的取舍
  • 在合适的项目,合适的团队,采用微服务架构收益会大于成本。
  • 微服务架构有很多吸引人的地方,但在拥抱微服务之前,也需要认清它所带来的挑战。
  • 需要避免为了“微服务”而“微服务”。
  • 微服务架构引入策略 – 对传统企业而言,开始时可以考虑引入部分合适的微服务架构原则对已有系统进行改造或新建微服务应用,逐步探索及积累微服务架构经验,而非全盘实施微服务架构。

 

  • 概要源头

https://www.w3cschool.cn/spring_cloud/spring_cloud-2hgl2ixf.html

 

SpringClound核心组件

  1. Eureka  服务注册中心
  2. 服务消费者 Rest 和 Fegin  --消费实现负载均衡ribbon
  3. 接口网关Zuul
  4. Hystrix  关于服务雪崩的解决方案--服务熔断、服务降级、隔离资源。

笔记

All in one 变成模块化

  1. 客户端怎么访问服务
  2. 服务之间怎么联系:http,rpc
  3. 这么多服务,怎么治理
  4. 服务挂了怎么办?

 

SpringCloud是一个生态

 

创建一个SpringBoot的Maven项目

在Maven项目中创建 SpringCloud-eureka-server项目

 

  1. <!--eureka-server -->
  2. <!-- 添加注册中心依赖的包文件 -->
  3. <dependency>
  4. <groupId>org.springframework.cloud</groupId>
  5. <artifactId>spring-cloud-starter-eureka-server</artifactId>
  6. </dependency>

 

 

新建application.yml

  1. server:
  2. port: 8081
  3. eureka:
  4. instance:
  5. hostname: localhost
  6. client:
  7. registerWithEureka: false
  8. fetchRegistry: false
  9. serviceUrl:
  10. defaultZone: http://${eureka.instance.hostname}:$S{server.port}/eureka/

添加@EnableEurekaServer标签

启动Server应用

 

在Maven工程创建springcloud-eureka-client

 

 

 

 

 

在项目启动加上@EnableDiscoveryClient注解

编写controller

 

启动客户端,查看服务端

 

将client单独看成一个服务,撰写service和controller,mapper

遇到的问题和解决方案 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/920229
推荐阅读
相关标签
  

闽ICP备14008679号