SpringCloud(12)
Sentinel 分布式系统的流量防卫兵 下载安装https://github.com/alibaba/Sentinel/releases/tag/1.8.6启动后默认端口为8080 构建微服务:POM:123456789101112131415161718192021222324252627282930313233343536<dependencies> <!-- Springcloud ailibaba nacos --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <!--Springcloud ailibaba...
kotlin的private和java的private
在kotlin中存在 修饰符1.1. 在 Kotlin 中,修饰符有:open/final,private/protected/internal/public1.2 open/final:一个类能不能被继承。1.3. private/protected/internal/public:一个类中或 Kotlin 文件中的变量或方法能不能被其他类或其他 Kotlin 文件访问。 open/final2.1 一个类在类的定义前加上 open 修饰符才可以被继承。如果没有加 open 关键字,那么默认是 final,即不可被继承的。2.2 被 open 修饰的类中只有被 open 修饰的属性或方法才可以被子类重写,如果在属性或方法前没有加 open 关键字,那么默认是 final,是不可被覆盖重写的。2.3 在子类中覆盖重写父类中的属性或方法是,需要使用关键字 override 修饰。2.4 子类中重写了父类的属性或方法,那么此时子类中的属性或方法没有加 open...
SpringCloud(11)
Nacos服务注册和配置中心nacos安装在官网下载压缩包https://nacos.io/zh-cn/docs/quick-start.html然后执行对应的命令。启动完成后,访问localhost:8848/nacos即可访问该界面。账号密码都是nacos 服务注册中心 生产者:POM: 123456789101112131415161718192021 <dependencies><!-- alibabanacos--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <dependency> ...
SpringCloud(10)
分布式请求链路监控Sleuth在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。 zipkin dashboard监控 下载zipkin的jar包,然后直接运行jar包出现以上界面就算zipkin部署完成然后访问localhost:9411/zipkin/即可访问 依次启用8001,80微服务当然这些服务理应完成一些配置POM.XML:12345<!-- 包含了zipkin+sleuth--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> ...
SpringCloud(9)
stream消息驱动官方定义Spring Cloud Stream是一个构建消息驱动微服务的框架 应用程序通过inputs或者outputs来与Spring Cloud Stream中binder对象交互。通过我们配置来binding(绑定),而Spring Cloud Stream的binder对象负责与消息中间件交互。所以,我们只需要搞清楚如何与Spring Cloud Stream交互就可以方便使用消息驱动的方式。通过使用Spring Integration来连接消息代理中间件以实现消息事件驱动.Spring Cloud...
SpringCloud(8)
Bus消息总线可以和消息队列(rabbitmq或kafuf)整合 安装rabbitmq可以查看我的这篇文章rabbitmq入门 springcloud 全局广播通知 先安装3355的客户端配置在配置一个3366的客户端 直接通知configServer服务中心,让所有从此获取config的微服务都得到通知 服务端添加消息总线的支持pom:1234<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bus-amqp</artifactId></dependency> yml12345678910111213141516171819202122232425262728293031323334353637server: port: 3344spring: application: name: cloud-config-center # 注册进Eureka服务器的微服务名 ...
SpringCloud(7)
Config微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的动态的配置管理设施是必不可少的。 spring configServer就可以解决这个问题将相同的配置抽调出来放于ConfigServer中去解决。 服务端使用configServer通常与git,github相结合,通过在git上修改配置文件,从而让每个客户端自己读取到新的配置文件而不用重启。 现在GitHub上建立一个新仓库,这个仓库作为以后会使用到的配置文件中心 然后是构建服务端(module,pom,yml,主启动类,业务)以下是一些相关的包1234567891011121314<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> ...
Springcloud(6)
路由网关Gateway 动嘴,理论。动手,架构 SpringCloud Gateway使用的Webflux中的reactor-netty响应式编程组件,底层使用了netty通讯框架。基于NIO(异步非阻塞模型) 传统框架:structs2,springmvc都是基于servlet API和Servlet容器。也就是阻塞框架,而Servlet3.1后就有了异步非阻塞的支持,WebFlux就是一个典型非阻塞异步的框架。他的核心基于Reactor 3大核心:路由,断言,过滤 静态配置有两种方式:1,修改yml文件 建module 修改pom需要导入一些新的内容包: 123456789101112131415<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> ...
CameraX的基础使用
CameraX他的特点是可以不用去申请相机等应用,而是可以直接调用硬件的相机源。当然采用这个或者调用相机都是没有问题的,这取决于你的需求 (如果你希望你的应用程序完全访问设备的相机,并且不用离开应用程序时,例如抖音,学习通)那么使用CameraX是个很好的决定。 导入包 12345678//Camera val cameraxVersion = "1.3.0-rc01" implementation("androidx.camera:camera-core:$cameraxVersion") implementation("androidx.camera:camera-camera2:$cameraxVersion") implementation("androidx.camera:camera-lifecycle:$cameraxVersion") ...