JAVA微服务入门总结分享 ——《我的Java打怪日记》

简介: 笔者前某国企担任前端开发,两年半经验,某平台签约作者,全栈方向。

Spring Boot

在了解 Spring Boot 之前,我们应该先了解一下 什么是 Spring , 因为是 Spring Boot Spring 简化配置。

springboot.jpg

什么是 Spring

Spring 是 一个开源框架,2003年 火起来的一个 轻量级 Java 开发框架。

作者:Rod Johnson.

Spring 是为了解决企业级应用开发的复杂性而创建的,简化开发。

Spring 是 如何简化开发的

  1. 基于 POJO 的轻量级和最小侵入性编程。
  2. 通过 IOC, 依赖注入(DI) 和 面向接口实现松耦合。
  3. 基于切面 (AOP) 和 惯例进行声明式编程。
  4. 通过切面和模板减少样式代码。

什么是Spring Boot

Spring Boot 是简化 Spring 应用开发,约定大于配置。

Spring Boot是由Pivotal团队打造的,并在2014年发布的一个全新框架,其设计目标就是用来简化Spring应用的搭建、开发及部署。Spring Boot采用了特定的方式进行配置,从而达到使开发人员不在需要配置繁琐的xml文件。简单的说其实Spring Boot并不是什么新的框架,就是摒弃了xml的配置方式,使用了一种新的配置方式;然后在maven中使用starter的方式整合了很多第三方框架,同时提供了很多默认的配置参数。

Spring Boot主要特点

  • 可以快速的搭建一个 Spring 项目
  • 默认使用 嵌入式 的 Servlet 容器,应用无需打成 WAR
  • 有很多 starters 自动依赖和版本控制 的 启动器。 [ 类似于 npm 依赖包]
  • 自动化配置,简化开发,可以配置修改默认值
  • 无需配置XML ,无代码生成,开箱即用。
  • 生产环境的运行应用监控
  • 与云计算的集成

主要简化配置,构建项目快,入门门槛低

微服务

什么是微服务

微服务是一种 架构风格 , 它要求我们在开发一个应用时,将这个应用构建成一系列小服务的组合,客套通过 HTTP 的方式进行互通。

微服务架构 就是 打破之前 单体架构all in one), 把每个功能元素独立处理。把独立出来的功能元素动态组合,需要的功能元素才拿来组合,需要多一些时可以整合多个功能元素。 微服务架构是对功能元素进行复制,而没有对整个应用进行复制。

采用微服务架构开发的系统,每一个独立的业务单元被划分为一个单独的模块,而每一个模块可以被独立的部署在服务器中,提供相应的业务服务。最终所有模块提供的服务组合在一起,就可以形成一套完整的业务流程,成为一个系统。

微服务.jpg

微服务架构主要特点

它主要解决了单体架构中存在的问题。

模块之间相互独立,通过接口完成模块间的通信,有效降低了代码的耦合度。在开发新增的业务功能时,你只需要从代码库中下载你需要的模块,并不需要下载所有的代码,开发和测试将会更加简单,并且新功能不会对原有的系统产生任何影响,系统的可扩展性得到了有效地提升。

  1. 节省了调用资源
  2. 每个功能元素的服务都是一个可替换的、可独立升级的

什么是单体架构?

单体架构比较初级,典型的三级架构,前端(Web/手机端)+中间业务逻辑层+数据库层。

所有功能都部署在同一个服务器中的系统,采用的架构就是单体架构。

单体式.jpg

单体架构的主要特点

优点

  • 部署 / 测试 容易
  • 开发简单,集中式管理
  • 功能都在本地,没有分布式的管理和调用消耗

缺点

  • 复杂性高

    复杂性高,当项目迭代时间长,模块代码会变臃肿,耦合度高,难以维护

  • 扩展能力受限

    体应用只能作为一个整体进行扩展,无法根据业务模块的需要进行伸缩。

  • 稳定性差

    一个微小的问题,都可能导致整个应用挂掉

  • 不灵活

    构建时间长,任何小修改都要重构整个项目,耗时

  • 效率低

    开发都在同一个项目改代码,相互等待,冲突不断

相关文章
|
5月前
|
存储 Oracle Java
java零基础学习者入门课程
本课程为Java零基础入门教程,涵盖环境搭建、变量、运算符、条件循环、数组及面向对象基础,每讲配示例代码与实践建议,助你循序渐进掌握核心知识,轻松迈入Java编程世界。
487 0
|
6月前
|
Java
java入门代码示例
本文介绍Java入门基础,包含Hello World、变量类型、条件判断、循环及方法定义等核心语法示例,帮助初学者快速掌握Java编程基本结构与逻辑。
519 0
|
6月前
|
监控 Java 数据库
从零学 Dropwizard:手把手搭轻量 Java 微服务,告别 Spring 臃肿
Dropwizard 整合 Jetty、Jersey 等成熟组件,开箱即用,无需复杂配置。轻量高效,启动快,资源占用少,内置监控、健康检查与安全防护,搭配 Docker 部署便捷,是构建生产级 Java 微服务的极简利器。
708 117
|
6月前
|
监控 Kubernetes Java
使用 New Relic APM 和 Kubernetes Metrics 监控 EKS 上的 Java 微服务
在阿里云AKS上运行Java微服务常遇性能瓶颈与OOMKilled等问题。本文教你通过New Relic实现集群与JVM双层监控,集成Helm部署、JVM代理注入、GC调优及告警仪表盘,打通从节点资源到应用内存的全链路观测,提升排障效率,保障服务稳定。
476 115
|
6月前
|
前端开发 Java 数据库连接
帮助新手快速上手的 JAVA 学习路线最详细版涵盖从入门到进阶的 JAVA 学习路线
本Java学习路线涵盖从基础语法、面向对象、异常处理到高级框架、微服务、JVM调优等内容,适合新手入门到进阶,助力掌握企业级开发技能,快速成为合格Java开发者。
827 3
|
7月前
|
NoSQL Java 关系型数据库
Java 从入门到进阶完整学习路线图规划与实战开发最佳实践指南
本文为Java开发者提供从入门到进阶的完整学习路线图,涵盖基础语法、面向对象、数据结构与算法、并发编程、JVM调优、主流框架(如Spring Boot)、数据库操作(MySQL、Redis)、微服务架构及云原生开发等内容,并结合实战案例与最佳实践,助力高效掌握Java核心技术。
815 0
|
6月前
|
Java API 数据库
2025 年最新 Java 实操学习路线,从入门到高级应用详细指南
2025年Java最新实操学习路线,涵盖从环境搭建到微服务、容器化部署的全流程实战内容,助你掌握Java 21核心特性、Spring Boot 3.2开发、云原生与微服务架构,提升企业级项目开发能力,适合从入门到高级应用的学习需求。
2067 0
|
6月前
|
监控 Java API
2025 年全新出炉的 Java 学习路线:从入门起步到实操精通的详细指南
2025年Java学习路线与实操指南,涵盖Java 21核心特性、虚拟线程、Spring Boot 3、微服务、Spring Security、容器化部署等前沿技术,助你从入门到企业级开发进阶。
1409 0
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
780 6
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
400 1