Spring Boot 系列文章:http://www.ityouknow.com/spring-boot.html Spring Cloud 系列文章:http://www.ityouknow.com/spring-cloud.html Spring Cloud 从入门到精通:https://blog.csdn.net/valada/article/details/80892573
View DetailsSpring Cloud由众多子项目组成,如Spring Cloud Config、Spring Cloud Netflix、Spring Cloud Consul 等,提供了搭建分布式系统及微服务常用的工具,如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性token、全局锁、选主、分布式会话和集群状态等,满足了构建微服务所需的所有解决方案。 服务发现——Netflix Eureka 客服端负载均衡——Netflix Ribbon 断路器——Netflix Hystrix 服务网关——Netflix Zuul 分布式配置——Spring Cloud Config Eureka 2eur.png 一个RESTful服务,用来定位运行在AWS地区(Region)中的中间层服务。由两个组件组成:Eureka服务器和Eureka客户端。Eureka服务器用作服务注册服务器。Eureka客户端是一个java客户端,用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持。Netflix在其生产环境中使用的是另外的客户端,它提供基于流量、资源利用率以及出错状态的加权负载均衡。 Ribbon Ribbon,主要提供客户侧的软件负载均衡算法。 3ri.png Ribbon客户端组件提供一系列完善的配置选项,比如连接超时、重试、重试算法等。Ribbon内置可插拔、可定制的负载均衡组件。下面是用到的一些负载均衡策略: 简单轮询负载均衡 加权响应时间负载均衡 区域感知轮询负载均衡 随机负载均衡 Ribbon中还包括以下功能: 易于与服务发现组件(比如Netflix的Eureka)集成 使用Archaius完成运行时配置 使用JMX暴露运维指标,使用Servo发布 多种可插拔的序列化选择 异步和批处理操作(即将推出) 自动SLA框架(即将推出) 系统管理/指标控制台(即将推出) Hystrix 41h.png 断路器可以防止一个应用程序多次试图执行一个操作,即很可能失败,允许它继续而不等待故障恢复或者浪费 CPU 周期,而它确定该故障是持久的。断路器模式也使应用程序能够检测故障是否已经解决。如果问题似乎已经得到纠正,应用程序可以尝试调用操作。欢迎大家一起学习研究相关技术愿意了解源码的朋友直接求求交流分享技术:2147775633 42h.png 断路器增加了稳定性和灵活性,以一个系统,提供稳定性,而系统从故障中恢复,并尽量减少此故障的对性能的影响。它可以帮助快速地拒绝对一个操作,即很可能失败,而不是等待操作超时(或者不返回)的请求,以保持系统的响应时间。如果断路器提高每次改变状态的时间的事件,该信息可以被用来监测由断路器保护系统的部件的健康状况,或以提醒管理员当断路器跳闸,以在打开状态。 43h.png 流程图 44h.png Zuul 51z.png 类似nginx,反向代理的功能,不过netflix自己增加了一些配合其他组件的特性。 Spring Cloud Config 52z.png 这个还是静态的,得配合Spring Cloud Bus实现动态的配置更新。 更多详细源码参考来源:http://minglisoft.cn/honghu/technology.html 作者:IT小跑兵 链接:https://www.jianshu.com/p/02f3995001d0 来源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
View Details引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者的心情。或者详细点,或者简单点。那么有没有一种快速有效的方法来构建api说明文档呢?答案是肯定的, Swagger就是最受欢迎的REST APIs文档生成工具之一! 为什么使用Swagger作为REST APIs文档生成工具 Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。 Swagger 可以生成客户端SDK代码用于各种不同的平台上的实现。 Swagger 文件可以在许多不同的平台上从代码注释中自动生成。 Swagger 有一个强大的社区,里面有许多强悍的贡献者。 asp.net core中如何使用Swagger生成api说明文档呢 Swashbuckle.AspNetCore 是一个开源项目,用于生成 ASP.NET Core Web API 的 Swagger 文档。 NSwag 是另一个用于将 Swagger UI 或 ReDoc 集成到 ASP.NET Core Web API 中的开源项目。 它提供了为 API 生成 C# 和 TypeScript 客户端代码的方法。 下面以Swashbuckle.AspNetCore为例为大家进行展示 Swashbuckle由哪些组成部分呢? Swashbuckle.AspNetCore.Swagger:将 SwaggerDocument 对象公开为 JSON 终结点的 Swagger 对象模型和中间件。 Swashbuckle.AspNetCore.SwaggerGen:从路由、控制器和模型直接生成 SwaggerDocument 对象的 Swagger 生成器。 它通常与 Swagger 终结点中间件结合,以自动公开 Swagger JSON。 Swashbuckle.AspNetCore.SwaggerUI:Swagger UI 工具的嵌入式版本。 它解释 Swagger JSON 以构建描述 Web API 功能的可自定义的丰富体验。 它包括针对公共方法的内置测试工具。 如何使用vs2017安装Swashbuckle呢? 从“程序包管理器控制台”窗口进行安装 转到“视图” > “其他窗口” > “程序包管理器控制台” 导航到包含 TodoApi.csproj 文件的目录 请执行以下命令 ·Install-Package […]
View Details1 HSqlDB简介 HSQLDB是一款Java内置的数据库,非常适合在用于快速的测试和演示的Java程序中。(无需独立安装数据库) HSQLDB有三种模式: 1. Server 就像Mysql那样 2. In-Process 又叫做 Standalone 模式,数据放在本地文件,伴随JVM一起启动,是HSQLDB的主要应用场景 3. Memory-only, 仅仅在内存中,一旦重启,数据就消失。 2 客户端 2.1 运行HSQLDB_Client类中的main方法 其主方法调用了DatabaseManagerSwing的主方法 这回导致启动一个Swing做的客户端 2.2 创建数据库,账号和密码 填写连接参数 1. Setting Name:输入test 2. Type: 选择HSQL Database Engine Standalone 3. Driver: 使用默认的org.hsqldb.jdbcDriver 4. URL: 输入 Jdbc:hsqldb:file: D:/SoftWareInstall/HSqlDB/test 5. User: root 6: Password:root 第3步: 这是Standalone方式,对于同一个数据库,只能启动一次,不支持多进程连接同一个数据库,所以后续在写JAVA代码连接的时候,必须把这个客户端关闭掉才行。 第4步: Jdbc:hsqldb:file: D:/SoftWareInstall/HSqlDB/test会导致在D:/SoftWareInstall/HSqlDB目录下创建一个test数据库 第5,6步:会导致创建账号密码,以后再连接D:/SoftWareInstall/HSqlDB下的test数据库,就必须用这个账号密码了。 2.3 创建表 CREATE TABLE category ( id int NOT NULL GENERATED BY DEFAULT AS IDENTITY, name varchar(255) DEFAULT NULL, PRIMARY KEY (id) ) ; insert into category values (null,'水果'); insert into category values (null,'衣服'); insert into […]
View Details