Articles in the category of 编程开发
- Home
- 编程开发
SpringCloud中Turbine聚合监控组件
我们在使用Hystrix中的Dashborad组件进行监控服务熔断情况的时候, 每个微服务都会有一个单独的监控页面, 当我们业务的微服务数量足够多的时候, 那么管理起来相对来说不是很方便,在这里我们将使用Turbine聚合监控来解决这一问题!
KMP算法
KMP算法 简介 KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。KMP算法的时间复杂度O(m+n)。 ...
SpringCloud注册管理中心的配置和使用
SpringCloud注册管理中心的配置和使用 微服务治理基础服务 微服务是运行于云端或者分布式环境中的, 在这个环境中, 如何有效的管理微服务, 并且维持微服务的正常通信, 那么就是需要通过微服务的治理来实现, 我们可以大概归结于下面几个功能和服务: 服务配置管理 服务注册管理 服务路由管理 服务调度管理 服务监控管理 服务跟踪管理 构建注册管理中心 介绍 注册管理中心是微服务治理的核...
初探动态规划(DP问题)
动态规划(DP:Dynamic Programming) 是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。在面试笔试中动态规划也是经常作为考题出现,其中较为简单的DP题目我们应该有百分之百的把握顺利解决才可以。 动态规划的定义 动态规划实际上是一类题目的总称,并不是指某个固定的算法。动态规划的意义就是通过采用递推(或者分治)的策略,通过解决大问题的子问...
微服务架构最佳设计
微服务架构最佳设计 使用微服务架构有很多好处,但同时也有一些缺点 微服务的粗细粒度不好把握 分布式的微服务增加了服务之间相互调用及其通信的复杂性 分散的数据管理难以保证数据的一致性 由多个微服务组成的系统会增加集成测试的一致性 单个服务的变更可能影响到多个服务 部署的复杂性 合理划分微服务 一般来说有两种方法,水平划分法/垂直划分法 在水平方向上,按照业务功能不同来划分微服务,并且把这次...