从开接触微服务概念到现在已经有两年时间了。在最初的一年里主要学习一些概念,最近这一年多里有幸在一家公司里从零开始搭建这套技术体系,经过公司实际项目的实战验证,慢慢地对该套技术体系有了一个比较全面深入的理解与掌握。搭建起来的这套体系已经稳定的、保质的支撑了公司双11的高峰冲击(网关峰值单日访问10亿次、微服务调用峰值单日16.5亿次)!后续文章跟大家一起分享这套体系:1.我们是怎么一步步建立这套体系?2.我们做了哪些配套去支撑这套体系?我们碰到了哪些有趣的故事?最终和大家一起玩转微服务。
首先,我们简要聊聊什么是微服务?
“微服务“只是众多架构设计理念的一种。它提倡把一个庞大的、复杂的应用系统进行切割,让其适合多个小的开发团队进行快速开发部署。每个小模块之间耦合度底,同时尽量满足接口走垂直调用,不要进行交叉调用。
其次,我们聊聊它的适应场所。
很多架构设计人员或者技术人员一听到这个是新理念就激动不安,不考虑实际就想使用。实际的经验告诉我说:如果你的系统单日访问不到一亿,如果你的团队研发人员不足,那请你还是不要使用这套体系!因为这套体系需要配套的一些系统和组件支持!开源项目都吹嘘自己可以做到这个那个,但是真正应用到自己实际的项目里还需要花很多时间去研究。
接着,我们聊聊微服务的技术选型。
当前适合做微服务开发的开源项目很多。比如:spring家族的SpringBoot,Dubbo和Dubbox(主要区别是后者支持Rest),新浪的motan等等。SpringBoot优点就是不要自己做配置,搭建非常快,比较精简;缺点就是当前还不是很稳定,需要自己填的坑有点多。Dubbo的话缺点就是太笨重(本身它就是采用框架的思路设计的,想大而全);优点就是资料全面,国人开发要的,需要处理的问题能快速找到方案。motan可以说是简版的dubbo,但是作者在开发项目的时候可惜这个还没有正式开源出来。所以我们选择的还是保守的dubbox。后续文章也是围绕dubbox展开。
最后,我们聊聊使用微服务应该有哪些基础能力.
如果想在正式环境中使用微服务,首先你应该建立如下能力:
1)服务注册发现
2)服务 限流、熔断、治理等
3)集中配置管理
4)持续集成、自动化部署
5)服务监控报警
6)链路分析
7)统一日志分析平台
8)大数据分析平台
9)安全体系
分享到:
相关推荐
随着微服务的落地,查找并解决系统问题的难度也在升级。如何从架构层面更好地了解分布式系统,多维度、快速定位并解决问题?这时候就需要引入分布式链路追踪,构建可观测的微服务系统。无论你是开发、测试、还是运维...
spring微服务系列视频 springboot和springcloud spring热加载插件设计与实现等
网上搜集的微服务经典书籍和相关文章资料资料打包下载
【微服务系列】一个小时让你从零,学会docker进行项目部署 Docker 是一个开源的应用容器引擎 诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc) Docker 可以让开发者打包他们的应用以及...
今天阅读了两篇关于微服务的文章,总结一些笔记,简单翻译了一篇文章。说明:并没有严格按照原文一字语句翻译,有部分自己的理解,还有部分是意译。微服务(microservices)这个概念不是新概念,很多公司已经在实践了...
容器技术和微服务”系列公开课 • Docker——⼀一种全新的⼯工作⽅方式 • 容器编排⼯工具Docker Swarm • 数据中⼼心操作系统的内核——Apache Mesos • ⼤大数据、Web服务、CI/CD:⼀一个都不能少——深⼊入理解...
微服务 微服务 微服务 微服务
微服务是一种软件开发方法,它将单一应用程序分解为一组小型、独立的服务,每个服务都运行在其自己的进程中,并且可以通过轻量级机制(如HTTP RESTful API)进行通信。这种架构模式旨在提高系统的可伸缩性、灵活性和...
《微服务:从设计到部署》是一本由马丁·福勒(Martin Fowler)撰写的专业书籍,专注于介绍微服务架构的设计与实施。这本书是微服务领域的经典之作,特别适合那些希望了解和入门微服务的读者。 微服务是一种软件...
在IT行业中,微服务架构是一种将单一应用程序分解为一组小型、独立的服务的开发方法,每个服务都运行在其自己的进程中,并且可以独立部署。Spring Cloud是一个流行的框架,它为开发人员提供了构建分布式系统所需的...
Java之Gradle【IDEA版】入门到精通(下)(一篇文章精通系列)微服务实战项目代码,Java之Gradle【IDEA版】入门到精通(下)(一篇文章精通系列)微服务实战项目代码Java之Gradle【IDEA版】入门到精通(下)(一篇...
Spring Cloud作为Java领域中实现微服务架构的主流框架,提供了一系列工具和服务,帮助开发者轻松创建和管理微服务。本篇文章将深入探讨如何使用Spring Cloud来构建一个货币转换微服务。 货币转换微服务是一个典型的...
- **微服务平台**: 提供一系列工具和服务来支持微服务架构的实施,包括但不限于服务注册与发现、负载均衡、API网关等功能。 - **监控平台**: 监控各个服务的健康状况,及时发现问题并采取措施。 - **配置中心**: ...
微服务应用是分布式开发的主要手段,它很好的解决了高并发等电商平台的问题。微服务系列课程是以Java语言为基础,...第一季主要是给大家介绍一下微服务系列课程的内容、Java入门的知识及Java基础讲解中用到的案例介绍。
在"微服务"这个压缩包文件中,可能包含了一系列用于演示这些概念的代码示例、配置文件和指导文档。通过学习和实践这些示例,你可以更好地理解和掌握微服务架构的设计和实施。记得在实践中不断优化,以适应不断变化的...
- 将传统的一站式应用,拆分成一个个的服务,彻底去耦合,一个微服务就是单功能业务,只做一件事。 - 与微服务相对的叫巨石 ### 微服务与微服务架构 - 微服务是一种架构模式或者一种架构风格,提倡将单一应用程序...
一个基于SpringBoot实现的“虚拟物流跟踪服务系统”的微服务项目 一个基于SpringBoot实现的“虚拟物流跟踪服务系统”的微服务项目 一个基于SpringBoot实现的“虚拟物流跟踪服务系统”的微服务项目 一个基于...
本文总结了 Spring Cloud 微服务架构笔记(一),涵盖了微服务基础知识、系统架构演变、单体应用架构、垂直应用架构、分布式 SOA 架构、微服务架构、分布式核心知识等方面的知识点。 微服务基础知识: 1. 微服务...
微服务架构的核心思想是将单一应用拆分为一系列小服务,每个服务都有明确的边界,只负责一个特定的业务功能。这些服务之间通过轻量级的通信机制(如HTTP REST API)交互,并能独立部署。每个服务可以有自己的数据库...