6 陈如水

尚未进行身份认证

市场经济条件下,每个人都有一个价,你有哪些本事?你值不值这个价? 人生如茶,经历浮沉,经历苦难浸泡,方能长大.

等级
TA的排名 5k+

Spring Cloud项目开发中遇到的问题

Spring Cloud微服务1、某个微服务是供内部调用还是前端调用?如果是内部调用,直接引用jar即可;如果是前端调用,需要通过api-ws进行访问。(doctor服务,hospital服务)上游服务和下游服务之分,只有上游服务才能暴露给前端。微服务层级之分。接口单一职责原则:在api-ws这一层合并接口, 把所有的数据都封装到一个接口里面。2、Nginx与Eureka Serv...

2019-08-30 18:02:20

20200119 日志框架

日志体系与SringBoot的日志应用开发的时候,日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法;日志抽象层----->日志实现层。调用日志抽象层里面的方法。把不同的日志系统的实现进行了具体的抽象化,只提供了统一的日志使用接口。使用时只需要按照其提供的接口方法进行调用即可,由于它只是一个接口,并不是一个具体的可以直接单独使用的日志框架,所以最终...

2020-01-19 17:25:43

20200119 config server服务

把密钥放在配置中心进行保密,配置中心的代码由专人进行维护。(安全性)配置中心http://192.168.110.123:7892/com.pica.cloud.trade/dev/publish。 测试配置中心是否通?url组成:Eureka Server上Config Server的地址,组名,环境名,分支名。不是git代码的地址。Config配置中心在配置中心更...

2020-01-19 13:36:18

20200117 实现接口幂等的几种方式

实现接口幂等性,防止并发操作,如何设计接口幂等方案?当前是否有高并发的场景,如果是才需要处理接口幂等操作,如果不是就不需要处理。插入更改操作,都要考虑高并发条件下的幂等性。接口的幂等性实际上就是接口可重复调用,在调用方多次调用的情况下,接口最终得到的结果是一致的。1、redis:setNX实现分布式锁,防止多个相同操作同时执行。2、mysql:select......fo...

2020-01-17 15:16:07

20200114 ASM框架

用了一下BeanUtils.copyPropertie和PropertyUtils.copyProperties()的方法,发现其效率非常低。原理是通过JDK自带的反射机制动态的去get,set从而去转换我们的类。使用ASM框架来动态生成ASM 让我们有能力在运行的过程中动态生成一个新的类并加载和运行它。ASM是一个通用的 Java 字节码操控和分析框架。它可以用于修改已有的类也可...

2020-01-14 16:39:48

20191219 Redis工作中常用命令

Redis DEL命令用于删除已存在的键。不存在的 key 会被忽略。DEL命令的返回值:1)如果删除成功,返回值是被删除 key 的数量。2)如果删除的键不存在,返回值为0;Redis decr命令Redis Keys 命令用于查找所有符合给定模式 pattern 的 key返回值:符合给定模式的 key 列表 (Array)。keys *app 查询所有...

2019-12-19 15:08:09

20200103 高并发情况下id唯一生成器

互联网快速发展的今天,分布式应用系统已经见怪不怪,在分布式系统中,我们需要各种各样的ID,既然是ID那么必然是要保证全局唯一,除此之外,不同的业务还需要不同的特性,比如像并发巨大的业务要求ID生成效率高,吞吐大;比如某些银行类业务,需要按每日日期制定交易流水号;又比如我们希望用户的ID是随机的,无序的,纯数字的,且位数长度是小于10位的。等等,不同的业务场景需要的ID特性各不一样,于是,衍生了各种...

2020-01-03 16:54:06

20200103 Nginx服务器配置

域名访问----->nginx----->ip地址和端口1、通过域名访问 还是通过ip进行访问。ip地址访问通,但是域名访问不同,说明端口没映射。2、前端通过域名访问后端服务,在ngixn层域名映射成ip地址。3、以后可以试试ip地址是否访问通? ip地址是否访问通?nginx.conf配置文件Nginx配置文件主要分成四部分:main(全局配置)、serve...

2019-07-01 19:38:05

20191227 Redis监控和性能指标

1、Redis性能指标;2、Redis配置文件;通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有与Redis服务相关的信息比较重要的2部分性能指标memory和stats。可以指定info命令的参数来获取单个分类下的数据。比如输入info memory命令,会只返回与内存相关的数据。1、内存使用率used_memoryused_me...

2019-12-27 18:27:08

20191225 RedisCluster

RedisCluster原理整个缓存查询命中率。一致性Hash正是为了解决这个问题而出现的,该路由算法通过引入一个一致性Hash环,以及进一步增加虚拟节点层,来实现尽可能高的命中率。使用FNV1_32_HASH哈希算法来尽可能使key与节点分布得更加均匀,引入了虚拟节点,来做负载均衡。集群内部通信在redis cluster集群内部通过gossip协议进行通信,集群元数据...

2019-12-25 20:16:30

20191220 CAS理论

CAS比较替换CAS是项乐观锁技术,当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其它线程都失败,失败的线程并不会被挂起,而是被告知这次竞争中失败,并可以再次尝试。CAS是一种非阻塞式的同步方式。乐观锁是一种思想。CAS是这种思想的一种实现方式。CAS 操作包含三个操作数 —— 内存位置(V)、预期原值(A)和新值(B)。如果内存位置的值与预期原值相匹...

2019-12-20 18:57:32

20191220 使用Redis实现乐观锁

锁机制:乐观锁:1)通过版本号来实现,先查询获取版本号,在更新的时候校验版本号并修改。悲观锁:同步关键字就是悲观锁,也称为排它锁。乐观锁还让用户查询当前版本号,悲观锁如果不释放,查都不让查询。乐观锁存在多种实现方式:mysql数据库版本号,redis实现,CAS实现等。在并发情况下,使用锁机制,防止争抢资源。悲观锁是对数据的修改持悲观态度(认为数据在被修改的时候一定会...

2019-12-20 18:54:11

20191219 策略模式

策略模式:指的是对象具备某个行为,但是在不同的场景中,该行为有不同的实现算法。策略模式使用的就是面向对象的继承和多态机制,从而实现同一行为在不同场景下具备不同实现。策略模式本质:分离算法,选择实现。主要解决在有多种算法相似的情况下,使用 if...else 或 switch...case 所带来的复杂性和臃肿性。优点1)算法多样性,且具备自由切换功能;2)有效避免...

2019-12-19 15:34:14

20191219 门面设计模式

门面设计模式外部与一个子系统的通信必须通过一个统一的门面(Facade)对象进行,这就是门面模式。使用哪种设计模式属于详细设计。门面模式就是动里不动外,让外层好调用。使用门面设计模式。门面设计模式:网关聚合层;接口定义不动,只变化接口实现。单例模式:线程池;策略模式:支付接口;外部系统------>门面对象------>子系统。通过门面对象才能访...

2019-12-19 11:53:07

20191206 linux常用命令

可用的memory=free memory+buffers+cached(可用内存的统计)如何查看linux系统的内存和cpu信息? 文件:cpuinfo,meminfo,或者直接top命令。如何查看正在运行的用户进程:进程名称,所占用端口号信息?netstat -ntlupgrep -C 10 1089676533 error-latest.log Linux下grep显...

2019-12-06 10:21:56

20191205 swagger接口文档api完善

添加请求头,token信息,完善对框架的完善。自己打jar包让别人引用,慢慢进行封装。 @Bean public Docket customDocket(){ ParameterBuilder ticketPar = new ParameterBuilder(); List<Parameter> pars = new ArrayList<P...

2019-12-05 19:54:11

20191114 分布式job调度中心

分布式job配置中心相当于注册中心,每个需要跑定时任务的微服务都需要自动或者手动注册到上面。管理后台执行器管理,任务管理,调度日志,可以查看某个job的执行状况。多个任务Handler,配置一个端口。一个执行器中可以包含多个Handler,把当前项目注册到分布式job管理中心,成为一个执行器。1)一个项目中包含多个Handler任务;一个执行器中可能会配置多个任务。每...

2019-11-14 18:13:37

20191204 支付后端文档

JSAPI支付:公众号接入文档(支付系统对比.pdf 文档)商户已有H5商城网站,用户通过消息或扫描二维码在微信内打开网页时(公众号),可以调用微信支付完成下单购买的流程。立即支付---->确认支付---->支付成功调起微信支付控件,用户开始输入支付密码。密码验证通过,支付成功。商户后台得到支付成功的通知。返回商户页面,显示购买成功。该页面由商户自定义。微信支...

2019-12-04 17:01:00

20191102 常见异步的手段

//一、使用线程池 ExecutorService executorService= Executors.newFixedThreadPool(5); executorService.submit(new Runnable() { @Override public void run() { ...

2019-12-02 18:31:46

20191202 浅拷贝、深拷贝、原型模式

如图所示浅拷贝、深拷贝原型模式深拷贝和浅拷贝的区别(copy的是值还是引用)1.浅拷贝: 将原对象或原数组的引用直接赋给新对象,新数组,新对象/数组只是原对象的一个引用2.深拷贝: 创建一个新的对象和数组,将原对象的各项属性的“值”(数组的所有元素)拷贝过来,是“值”而不是“引用”java的传递类型:java传递的话只有值传递,不存在引用传递。浅拷贝(Sha...

2019-12-02 17:25:52

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。