我已经看过使用yum安装依赖项的编写,然后从源代码安装Node.JS和NPM.虽然这确实有效,但我觉得Node.JS和NPM都应该在某个公共回购中.
如何在AWS Amazon Linux上的一个命令中安装Node.JS和NPM?
似乎为ElasticBeanstalk实例选择t2.micro会将Beanstalk抛入无限循环.创建Beanstalk实例一小时后,自Beanstalk管理控制台上次事件更新以来20分钟.
有谁知道如何杀死Beanstalk实例部署?
我想在新的 OS X 机器上设置 java,并且更喜欢使用 brew 进行 OS X 包管理。如何使用 brew 安装最新的 java?
我正在使用新的无服务器 TypeScript monorepo 启动一个新项目!使用了aws-nodejs-typescript
模板,它提供了一个serverless.ts
配置文件。几周后,我现在在命令行上从 Serverless 收到以下很好的警告:
Serverless: Deprecation warning: Starting with next major version, API Gateway naming will be changed from “{stage}-{service}” to “{service}-{stage}”.
Set “provider.apiGateway.shouldStartNameWithService” to “true” to adapt to the new behavior now.
More Info: https://www.serverless.com/framework/docs/deprecations/#AWS_API_GATEWAY_NAME_STARTING_WITH_SERVICE
Run Code Online (Sandbox Code Playgroud)
好的!看起来很棒,我喜欢新的命名。由于这是一个新项目,最好在我们发布任何内容之前立即应用新命名。但是,看起来 TypeScript 定义相当严格,似乎还不允许使用新变量:
Loading failed with: TSError: ? Unable to compile TypeScript:
serverless.ts(44,7): error TS2322: Type ‘{ minimumCompressionSize: number; shouldStartNameWithService: true; }’ is not assignable to type ‘ApiGateway’.
Object literal may only specify known properties, and ‘shouldStartNameWithService’ does …
Run Code Online (Sandbox Code Playgroud) 在这一天上,我的头发被撕掉了几天.我们在使用独占数据库锁时遇到了一些问题,导致我们的生产系统出现性能问题一段时间了.我能够仔细研究它,并注意到持有独占锁的查询是由Hibernate的延迟加载生成的选择.
我们正在使用Spring事务管理,@Transactional( readOnly= "true")
在服务入口点定义.我们使用会话每请求模型和映射到传输对象的实体.读取数据库默认隔离级别已提交.JDBC驱动程序配置为read committed.我使用以下方法检查了实际交易的隔离级别:
select current_setting('transaction_isolation')
Run Code Online (Sandbox Code Playgroud)
哪个返回read committed.我们使用JPA来配置Hibernate映射.我们没有在任何地方明确升级交易.在这个特定的事务中,我们只运行select语句.打开Hibernate SQL日志记录我没有看到任何这些:
select ... for update
Run Code Online (Sandbox Code Playgroud)
只记录简单的select语句.
这似乎是两件事之一.我对read committed的理解是完全关闭的,读取提交的隔离级别应该导致在执行选择的事务期间保持独占的行级锁定.或者正在发生其他事情并错误地升级事务所持有的锁.
任何帮助,将不胜感激.
编辑1:
好吧,在这一条路上走了很长的路.事实证明这与锁定无关.我用来检测锁的查询已经过时,并且显示锁定类型为"virtualxid".一些挖掘告诉我们,virtualxid是每个事务自身锁定的锁,因为PostgreSQL的内部原因与此讨论没有密切关系.我们cron'd另一个监控查询测试真正的独占锁,还没有见过.
这是我们用来监视"virtualxid"锁的查询,这个锁更像是一个长时间运行的查询监视器:
SELECT pg_stat_activity.datname, pg_locks.mode, pg_locks.locktype, pg_locks.granted, pg_stat_activity.usename,pg_stat_activity.query,age(now(),pg_stat_activity.query_start) AS "age", pg_stat_activity.pid
FROM pg_stat_activity,pg_locks
LEFT OUTER JOIN pg_class ON (pg_locks.relation = pg_class.oid)
WHERE
age(now(),pg_stat_activity.query_start) > interval '1 minute' AND
pg_stat_activity.datname <> 'postgres' AND
pg_locks.pid=pg_stat_activity.pid AND
pg_stat_activity.query not like '%autovacuum%' AND
pg_stat_activity.query not like '%COPY%stdout%'
order by query_start;
Run Code Online (Sandbox Code Playgroud)
这是我们得到的一些输出:
<redacted> | ExclusiveLock | virtualxid | t | <redacted> | SELECT …
Run Code Online (Sandbox Code Playgroud) 如何npm update -g npm
在我们的Elastic Beanstalk实例启动时运行它们?对每个实例进行shell操作以手动运行update命令相当容易,但这不会通过扩展事件起作用,因为会自动添加更多实例.
如何通过自动缩放事件的方式在Elastic Beanstalk实例上获取最新版本的NPM?
java ×2
node.js ×2
npm ×2
amazon-ec2 ×1
hibernate ×1
homebrew ×1
macos ×1
postgresql ×1
spring ×1
yum ×1