什么是微服务

微服务11:熔断、降级的Hystrix实现(附源码)

微服务1:微服务及其演进史 微服务2:微服务全景架构 微服务3:微服务拆分策略 微服务4:服务注册与发现 微服务5:服务注册与发现(实践篇) 微服务6:通信之网关 微服务7:通信之RPC 微服务8:通信之RPC实践篇(附源码) 微服务9:服务治理来保证高可用 微服务10:系统服务熔断、限流 1 介绍 ......
源码 Hystrix

Dubbo-服务暴露

前言 Dubbo源码阅读分享系列文章,欢迎大家关注点赞 SPI实现部分 Dubbo-SPI机制Dubbo-Adaptive实现原理Dubbo-Activate实现原理Dubbo SPI-Wrapper 注册中心 Dubbo-聊聊注册中心的设计Dubbo-时间轮设计 通信 Dubbo-聊聊通信模块设计 ......
Dubbo

构建SpringCloud网关服务

搭建网关 导入maven包: <!--网关依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependenc ......
网关 SpringCloud

利用云服务提供商的免费证书,在服务器上发布https前端应用和WebAPI的应用

我们如果要在服务器上发布https前端应用和WebAPI的应用,那么我们就需要用到https证书了。我们一般发布的应用的云服务器上,都会提供一定量的相关的免费证书(一般为20个)供我们使用,每个一年期限,到期再续即可,一般情况下基本上满足要求了,本篇随笔介绍如何基于云服务提供商的免费证书,在服务器上... ......
前端 提供商 证书 服务器 WebAPI

领跑业界!腾讯云原生首发容器服务3大能力!

随着用户需求的升级和云原生技术的发展,云原生已成为企业应用上云降本增效的利器。11 月30 日,在 2022 腾讯全球数字生态大会云原生专场,腾讯云发布了容器服务的三项能力全新升级,并向外界解读了腾讯自研业务上云的经验价值和技术成果。 会议开场,腾讯云原生产品中心架构总监 陈浪交 讲述了腾讯云容器服 ......
容器 业界 能力

使用.NET开发搭建OpenAI模型的中间服务端

前言:前不久微信上大家玩ChatGPT聊天机器人玩的不亦乐乎;不过随着ChatGPT被封杀,所以用微信聊天机器人有可能导致封号的风险。那如果自己不想每次都去OpenAI官网上进行对话【PS:官网上面聊天对话有局限性,例如回复的内容比较长,AI回答是一个一个字写的,就可能导致超过一定时间以后,变成请求 ......
模型 OpenAI NET

微服务系列之服务监控 Prometheus与Grafana

1.为什么需要监控服务 监控服务的所属服务器硬件(如cpu,内存,磁盘I/O等)指标、服务本身的(如gc频率、线程池大小、锁争用情况、请求、响应、自定义业务指标),对于以前的小型单体服务来说,确实没什么必要,但对于中大型项目,尤其那些群集部署显得尤为重要、尤其是现在的微服务架构,服务众多,而且很多服 ......
Prometheus Grafana

微服务开发平台 Spring Cloud Blade 部署实践

本文介绍使用 Rainbond 快速部署 Spring Cloud Blade 微服务平台。Spring Cloud Blade 是一个由商业级项目升级优化而来的微服务架构,采用Spring Boot 2.7 、Spring Cloud 2021 等核心技术构建,完全遵循阿里巴巴编码规范。提供基于 ......
开发平台 Spring Cloud Blade 平台

Python 为什么如此设计?

大概两年半前,我萌生了要创作一个新的系列文章的想法,也就是“Python为什么”,试图对 Python 的语法及特性提出“为什么”式的问题,以此加深对它的理解,探寻使用技巧、发展演变、设计哲学等话题。 一直以来,我都是一个有着较强问题意识的充满着好奇心的人,擅长于识别出相似东西的差异,并从差异性上发 ......
Python

为什么 Random.Shared 是线程安全的

在多线程环境中使用 Random 类来生成伪随机数时,很容易出现线程安全问题。例如,当多个线程同时调用 Next 方法时,可能会出现种子被意外修改的情况,导致生成的伪随机数不符合预期。 为了避免这种情况,.NET 框架引入了 Random.Shared 属性。它返回一个特殊的 Random 实例,可 ......
线程 Random Shared

为什么总是应该考虑给定 List 的初始大小

在 .Net 技术中,使用 List<> 来存储数据是很常见的。List<> 是一个可以动态增长的泛型集合类型,可以存储任何类型的数据。 但是,在实际使用中,很多人并不注意给定 List<> 的初始大小,导致在数据量较大时,List<> 的性能可能不尽如人意。 代码示例 下面,我们以一个简单的代码示 ......
大小 List

【openEuler系列】部署文件共享服务Samba

个人名片: 对人间的热爱与歌颂,可抵岁月冗长:sun_with_face: Github👨🏻‍💻:念舒_C.ying CSDN主页✏️:念舒_C.ying 个人博客:earth_asia: :念舒_C.ying 1 配置环境 挂载系统ISO,并配置好本地dnf源。(前面的文章讲过,这里就略过. ......
openEuler 文件 Samba

微服务项目Git仓库自动化脚本

说明 基于微服务项目,产生的的多项目仓库管理脚本。可直接保存 shell 脚本后酌情修改后试用 目录结构 xxxx Xxx1Api/ Xxx2Api/ git_clone_api.sh git_branch_dev.sh git_pull_all.sh git_status.sh api-build ......
服务项目 脚本 仓库 项目 Git

【秒杀购物商城业务服务】「分布式架构服务」盘点中间件服务的高可用模式及集群技术的方案分析

- 基于MySQL数据库集群技术实现服务的高可用 - 基于Tomcat的集群负载机制实现Tomcat服务器的高可用 - 基于Nginx负载均衡机制实现负载均衡(介绍和配置) - 基于Redis缓存服务实现数据缓存控制相关介绍和技术点分析 - 对未来的分布式技术架构扩展和延伸介绍(包含云原生部分) ......

【分布式技术专题】「架构设计方案」盘点和总结秒杀服务的功能设计及注意事项技术体系

分析秒杀的业务场景,最重要的有一点就是超卖问题,假如备货只有100个,但是最终超卖了200,一般来讲秒杀系统的价格都比较低,如果超卖将严重影响公司的财产利益,因此首当其冲的就是解决商品的超卖问题。 ......
技术 分布式 架构 注意事项 事项

Kafka技术专题之「性能调优篇」消息队列服务端出现内存溢出OOM以及相关性能调优实战分析

本篇文章介绍Kafka处理大文件出现内存溢出 java.lang.OutOfMemoryError: Direct buffer memory,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。 ......
性能 实战分析 队列 实战 内存

【JVM实战系列】「监控调优体系」实战开发arthas-spring-boot-starter监控你的微服务是否健康

相信如果经历了我的上一篇Arthas的文章[【JVM实战系列】「监控调优体系」针对于Alibaba-Arthas的安装入门及基础使用开发实战指南]之后,相信你对Arthas的功能和使用应该有了一定的理解了。那么我们就要进行下一步的探索功能。 ......

【深入浅出SpringCloud原理及实战】「SpringCloud-Alibaba系列」微服务模式搭建系统基础架构实战指南及版本规划踩坑分析

Spring Boot 应用程序在服务注册与发现方面提供和 Nacos 的无缝集成。 通过一些简单的注解,您可以快速来注册一个服务,并使用经过双十一考验的 Nacos 组件来作为大规模分布式系统的服务注册中心。 ......

精华推荐 |【深入浅出Sentinel原理及实战】「原理探索专题」完整剖析Alibaba微服务架构体系之轻量级高可用流量控制组件Sentinel(1)

伴随微服务的的越来越成熟和稳定发展,服务和服务之间的稳定性变得越来越重要。Sentinel以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 ......

超详细讲解如何搭建自己的文件服务器

由于FTP、HTTP、Telnet等协议的数据都是使用明文进行传输的,因此从设计上就是不可靠的。人们为了满足以密文方式传输文件的需求,发明了vsftpd服务程序。vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux操作系统上的FTP服务程序,不... ......
服务器 文件

kestrel网络编程--开发redis服务器

1 文章目的 本文讲解基于kestrel开发实现了部分redis命令的redis伪服务器的过程,让读者了解kestrel网络编程的完整步骤,其中redis通讯协议需要读者自行查阅,文章里不做具体解析。 2 开发顺序 创建Kestrel的Redis协议处理者 配置监听的EndPoint并使用Redis ......
网络编程 kestrel 服务器 redis 网络

架构设计(五):有状态服务和无状态服务

架构设计(五):有状态服务和无状态服务 作者:Grey 原文地址: 博客园:架构设计(五):有状态服务和无状态服务 CSDN:架构设计(五):有状态服务和无状态服务 无状态的服务 在横向扩展服务的过程中,将状态(例如用户会话数据)从服务中移出并将会话数据存储在持久性存储介质中,如关系型数据库或 No ......
状态 架构

基于 Spring Cloud 的微服务脚手架

基于 Spring Cloud 的微服务脚手架 作者: Grey 原文地址: 博客园:基于 Spring Cloud 的微服务脚手架 CSDN:基于 Spring Cloud 的微服务脚手架 本文主要介绍了基于 Spring Cloud Finchley 和 Spring Boot 2.0.x 版本 ......
脚手架 Spring Cloud

ubuntu1804搭建FTP服务器的方法

搭建FTP服务器 FTP的工作原理: FTP:File Transfer Protocol ,文件传输协议。属于NAS存储的一种协议,基于CS结构。 ftp采用的是双端口模式,分为命令端口和数据端口,命令端口对应命令通道,数据端口对应数据通道。 命令端口:FTP服务器的命令端口默认是tcp/21 数 ......
服务器 方法 ubuntu 1804 FTP

架构设计(一):从单服务器模式到负载均衡设计

架构设计(一):从单服务器模式到负载均衡设计 作者:Grey 原文地址: 博客园:架构设计(一):从单服务器模式到负载均衡设计 CSDN:架构设计(一):从单服务器模式到负载均衡设计 单服务器模型是最简单的一种架构,参考如下图 用户访问一个 URL,URL 会先到 DNS 服务器进行域名解析,然后返 ......
架构 模式 服务器

为什么分布式限流会出现不均衡的情况?

概述 在微服务、API 化、云原生大行其道的今天,服务治理不可或缺,而服务治理中限流几乎是必不可少的手段;微服务化往往伴随着分布式的架构,那么仅仅单机限流是不够的,还需要分布式的限流。 那么问题就来了:分布式限流中,往往会出现「限流不均衡」或「限流误差」的情况,这是为什么呢? 限流 国庆假期,限流这 ......
分布式 情况

通过surging的后台托管服务编写任务调度并支持规则引擎自定义脚本

简介 过去,如果在业务中需要处理任务调度的时候,大家都会使用第三方的任务调度组件,而第三方组件有一套自己的规则,在微服务的中显得那么格格不入,这样就会造成代码臃肿,耦合性高,如果有分布式还需要搭建新的分布式环境,如果把任务调度做成组件服务,这个就完全满足了微服务的模块化,组件化,而下面谈的是在sur ......
脚本 后台 规则 任务 surging

MySQL空间暴涨150G导致锁定,发生了什么

背景 12月1号中午突然收到大量报警,某客户环境操作数据库大量失败,报错信息如下图所示: 这个报错我是第一次见,一时间有点无所适从,但是从字面意思来看是MySQL目前处于LOCK_WRITE_GROWTH状态,拒绝执行当前的语句,一定是MySQL出问题了。 初定位 我随即登录阿里云控制台查看MySQ ......
MySQL 空间 150G 150

微服务组件-----Spring Cloud Alibaba 注册中心Nacos的CP架构Raft协议分析

前言 本篇幅是继 注册中心Nacos源码分析 的下半部分。 意义 【1】虽说大部分我们采用注册中心的时候考虑的都是AP架构,为什么呢?因为性能相对于CP架构来说更高,需要等待的时间更少【相对于CP架构,采用的是二段提交,AP架构是直接落盘数据,然后进行数据扩散,来达到最终一致,所以客户端收到响应会更 ......
架构 组件 Alibaba Spring Cloud

软件设计中最关键的“开闭原则”,究竟指什么呢?

前言 软件设计原则中有一条很关键的原则是开闭原则,就是所谓的对扩展开放,对修改关闭。个人觉得这条原则是非常重要的,直接关系到你的设计是否具备良好的扩展性,但也是相对比较难以理解和掌握的,究竟怎样的代码改动才被定义为“扩展”?怎样的代码改动才被定义为“修改”?怎么才算满足或违反“开闭原则”?别急,本文 ......
原则 关键 软件