逆水行舟

Whatever is worth doing is worth doing well.


  • 首页

  • 标签

  • 分类

  • 归档

  • 站点地图

  • 公益 404

  • 搜索

Spring Boot 远程调试

发表于 2019-10-18 分类于 Spring Boot , Remote 阅读次数:

远程应用(Remote Applications)

Spring Boot devtools 工具,不仅能在本地环境使用,某些特性也可以应用于远程运行中的程序。远程支持是可选择的特性。开启远程支持,你需要确认 devtools 依赖已经包含在应用的打包过程中,如下:

1
2
3
4
5
6
7
8
9
10
11
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludeDevtools>false</excludeDevtools>
</configuration>
</plugin>
</plugins>
</build>

然后,你需要设置 spring.devtools.remote.secret 属性,如下:

1
spring.devtools.remote.secret=mysecret

在远程应用中开启 spring-boot-devtools 是一个具有安全风险的事情,不应该在生产环境中启用。

阅读全文 »

Sentinel 学习笔记

发表于 2019-10-17 分类于 Cloud , Sentinel 阅读次数:

Sentinel: 分布式系统的流量防卫兵

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

Sentinel 具有以下特征

  • 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。
  • 完备的实时监控:Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。
  • 广泛的开源生态:Sentinel 提供开箱即用的与其它开源框架/库的整合模块,例如与 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入 Sentinel。
  • 完善的 SPI 扩展点:Sentinel 提供简单易用、完善的 SPI 扩展接口。您可以通过实现扩展接口来快速地定制逻辑。例如定制规则管理、适配动态数据源等。
阅读全文 »

Spring Boot 配置信息

发表于 2019-10-17 更新于 2019-10-18 分类于 Spring Boot , Config 阅读次数:

Spring 外部化配置

Spring Boot 允许将配置外部化(externalize),这样你就能够在不同的环境下使用相同的代码。你可以使用properties文件,YAML文件,环境变量和命令行参数来外部化配置。使用@Value注解,可以直接将属性值注入到beans中,然后通过Spring的Environment抽象或通过@ConfigurationProperties绑定到结构化对象来访问。
Spring Boot设计了一个非常特别的PropertySource顺序,以允许对属性值进行合理的覆盖,属性会以如下的顺序进行设值:

  • home目录下的devtools全局设置属性(~/.spring-boot-devtools.properties,如果devtools激活)。
  • 测试用例上的@TestPropertySource注解。
  • 测试用例上的@SpringBootTest#properties注解。
  • 命令行参数
  • 来自SPRING_APPLICATION_JSON的属性(环境变量或系统属性中内嵌的内联JSON)。
  • ServletConfig初始化参数。
  • ServletContext初始化参数。
  • 来自于java:comp/env的JNDI属性。
  • Java系统属性(System.getProperties())。
  • 操作系统环境变量。
  • RandomValuePropertySource,只包含random.*中的属性。
  • 没有打进jar包的Profile-specific应用属性(application-{profile}.properties和YAML变量)。
  • 打进jar包中的Profile-specific应用属性(application-{profile}.properties和YAML变量)。
  • 没有打进jar包的应用配置(application.properties和YAML变量)。
  • 打进jar包中的应用配置(application.properties和YAML变量)。
  • @Configuration类上的@PropertySource注解。
  • 默认的属性(使用 SpringApplication.setDefaultProperties指定)
阅读全文 »

Nacos 学习笔记

发表于 2019-10-16 更新于 2019-10-17 分类于 Spring Cloud , Nacos 阅读次数:

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

阅读全文 »

创建自己的 Spring Boot Starter Parent

发表于 2019-09-10 更新于 2019-10-02 分类于 Spring Boot , Starter , Parent 阅读次数:

创建 Spring Boot 项目时,默认继承一个 parent。

1
2
3
4
5
6
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

spring-boot-starter-parent 具有以下作用:

  • 父级为 spring-boot-dependencies(项目url、license、developer、scm、依赖版本,依赖插件版本管理)
  • 默认项目编码
  • 默认 Java 版本
  • 默认 resource 设置
  • 依赖插件管理

自定义 parent 有以下优势:

  • 自定义开发规范:在自定义的 parent 中可以规范引入的依赖,统一配置信息
  • 提高开发效率:不用每个人都去关心共性的部分
  • 统一模块插件化管理:可以在 parent 实现需要的插件配置,如:redis、mysql、日志、参数校验等
  • 项目版本升级和依赖包升级更加方便统一
  • 日志收集等可以从切面获取各个项目数据和日志等
  • 目持续集成部署交付方便处理
阅读全文 »

Spring Boot 插件化开发

发表于 2019-09-10 更新于 2019-09-29 分类于 Spring Boot , plugin 阅读次数:
  • 主程序负责最基础的功能
  • 为所有可插件化的功能设计接口
  • 开发插件jar包,完成后放到主程序的lib目录下
  • 主程序修改配置文件重启(或热加载)来加载功能
  • 每个接口有统一的测试方法,实现不同插件的测试
阅读全文 »

Activiti 学习及使用

发表于 2019-08-30 更新于 2019-10-18 分类于 Workflow , Activiti 阅读次数:

持续更新
Activiti 是一个针对企业用户、开发人员 、系统管理员的轻量级工作流业务管理平台。创始人 Tom Baeyens 曾经是 JBoss jBPM 的项目架构师。Activiti 延续自 jBPM4。而 jBPM5 之后的版本,基于 Drools Flow 重新设计。

  • 开源: Apache V2 license
  • 官网: https://www.activiti.org
  • GitHub: https://github.com/Activiti/Activiti
  • 团队: https://github.com/Activiti
  • GitBook: https://activiti.gitbook.io
  • User Guide: https://www.activiti.org/userguide/index.html
阅读全文 »

常用数据来源及爬取

发表于 2019-08-30 更新于 2019-08-31 分类于 Data 阅读次数:

中国行政区域

  • area-puppeteer
    基于 puppeteer 的中国行政区域抓取爬虫,数据来源于:
    • 国家统计局(推荐,每年更新):年统计用区划代码和城乡划分代码
    • 国家民政部(每月更新,但无街道整体数据):中华人民共和国行政区划代码

国家统计局

民政数据

常用 UI 组件

发表于 2019-08-30 更新于 2019-08-31 分类于 UI 阅读次数:

UI 组件将会持续更新

图标

  • ionicons
    一款精心制作的漂亮的开源小图标(icons)

    • 开源: MIT 协议
    • 支持 Web、iOS、Android、Desktop apps
    • 支持 SVG、web font 格式
    • 官方网站: https://ionicons.com/
    • GitHub: https://github.com/ionic-team/ionicons
    • 团队: https://github.com/ionic-team
  • Vue-Awesome
    Vue-Awesome 是基于 Vue.js 的 SVG 图标组件,内置图标来自 Font Awesome。

    • 开源: MIT 协议
    • Vue 组件
    • 官方Demo: https://justineo.github.io/vue-awesome/demo/
    • GitHub: https://github.com/Justineo/vue-awesome
阅读全文 »

Nepxion Discovery - Spring Cloud Discovery服务注册发现、Ribbon负载均衡、Feign和RestTemplate调用的增强中间件

发表于 2019-08-30 更新于 2019-09-02 分类于 Spring Cloud , Discovery 阅读次数:

简介

Nepxion Discovery是一款对Spring Cloud Discovery服务注册发现、Ribbon负载均衡、Feign和RestTemplate调用的增强中间件

  • 支持Eureka、Consul、Zookeeper和阿里巴巴的Nacos四个服务注册发现中心
  • 支持阿里巴巴的Nacos、携程的Apollo和Redis三个远程配置中心
  • 支持Hystrix或者阿里巴巴Sentinel的两个熔断隔离限流降级
  • 支持Spring Cloud Gateway、Zuul网关和微服务三大模块的灰度发布和路由等一系列功能
  • 支持和兼容Spring Cloud Edgware版、Finchley版和Greenwich版三个版本

相关网站

  • 官网:http://nepxion.com/
    Nepxion - 专注于企业级微服务开源解决方案
阅读全文 »
12…8
Arcticfox

Arcticfox

78 日志
79 分类
89 标签
RSS
GitHub Weibo
© 2019 Arcticfox